最近,我设法通过以下命令从this Vala文件中创建了一个可以使用的共享库:1:valac circular-progress-bar.vala -X -fPIC -X -shared -o test_shared.so --library=testShared --gir testShared-0.1.gir --pkg gtk+-3.0
2:g-ir-compiler --shared-library=test_shared.so --output=testShared-0.1.typelib testShared-0.1.gir
我在python中创建了一个简单的测试窗口,其中显示了小部件,并且仅显示了文本。是Python还是根本无法以这种方式使用?Image of the test window/app我试图找到功能来更改设置或某些值,但我找不到它。
我将不胜感激!
在经历了编译对象和生成接口文件以使用Python中的小部件的艰难技术步骤之后,这个答案可能会有些令人震惊。据我所知没有显示圆的原因是因为该值为0%-所以没有圆!
小部件具有percentage
属性,可以在Python中使用pb.props.percentage
进行设置。在此示例中,该百分比设置为60%,对我来说效果很好。我使用pb.props.percentage = 0.6
:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gdk, GObject
gi.require_version('testShared', '0.1')
from gi.repository import testShared
class GUI (Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
pb = testShared.CircularProgressBar()
pb.props.percentage = 0.6
self.connect('destroy', self.on_window_destroy)
self.add(pb)
self.show_all()
Gtk.main()
def on_window_destroy(self, window):
Gtk.main_quit()
if __name__ == "__main__":
GUI()
小部件具有其他可以更改的属性,例如line_width
设置绘制圆的线的宽度。
这里是显示60%且line_width
设置为10
的屏幕截图: