The preferred place to ellipsize the string, if the progress bar does not have enough room to display the entire string, if at all.
fraction
float
r/w/en
The fraction of total work that has been completed
inverted
bool
r/w/en
Invert the direction in which the progress bar grows
pulse-step
float
r/w/en
The fraction of total progress to move the bouncing block when pulsed
show-text
bool
r/w/en
Whether the progress is shown as text.
text
str
r/w
Text to be displayed in the progress bar
Signals
Name
Short Description
例子
代码:
#!/usr/bin/env python3# Created by xiaosanyu at 16/6/15# section 111
TITLE = "ProgressBar"
DESCRIPTION = """
The Gtk.ProgressBar is typically used to display the progress of a long running operation.
It provides a visual clue that processing is underway.
"""import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, GObject
classProgressBarWindow(Gtk.Window):def__init__(self):
Gtk.Window.__init__(self, title="ProgressBar Demo")
self.set_border_width(10)
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6)
self.add(vbox)
self.progressbar = Gtk.ProgressBar()
vbox.pack_start(self.progressbar, True, True, 0)
button = Gtk.CheckButton("Show text")
button.connect("toggled", self.on_show_text_toggled)
vbox.pack_start(button, True, True, 0)
button = Gtk.CheckButton("Activity mode")
button.connect("toggled", self.on_activity_mode_toggled)
vbox.pack_start(button, True, True, 0)
button = Gtk.CheckButton("Right to Left")
button.connect("toggled", self.on_right_to_left_toggled)
vbox.pack_start(button, True, True, 0)
self.timeout_id = GObject.timeout_add(50, self.on_timeout, None)
self.activity_mode = Falsedefon_show_text_toggled(self, button):
show_text = button.get_active()
if show_text:
text = "some text"else:
text = None
self.progressbar.set_text(text)
self.progressbar.set_show_text(show_text)
defon_activity_mode_toggled(self, button):
self.activity_mode = button.get_active()
if self.activity_mode:
self.progressbar.pulse()
else:
self.progressbar.set_fraction(0.0)
defon_right_to_left_toggled(self, button):
value = button.get_active()
self.progressbar.set_inverted(value)
defon_timeout(self, user_data):"""
Update value on the progress bar
"""if self.activity_mode:
self.progressbar.pulse()
else:
new_value = self.progressbar.get_fraction() + 0.01if new_value > 1:
new_value = 0
self.progressbar.set_fraction(new_value)
# As this is a timeout function, return True so that it# continues to get calledreturnTruedefmain():
win = ProgressBarWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
if __name__ == "__main__":
main()