⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 progressbar.py

📁 pygtk的教程
💻 PY
字号:
#!/usr/bin/env python# example progressbar.pyimport pygtkpygtk.require('2.0')import gtk, gobject# Update the value of the progress bar so that we get# some movementdef progress_timeout(pbobj):    if pbobj.activity_check.get_active():        pbobj.pbar.pulse()    else:        # Calculate the value of the progress bar using the        # value range set in the adjustment object        new_val = pbobj.pbar.get_fraction() + 0.01        if new_val > 1.0:            new_val = 0.0        # Set the new value        pbobj.pbar.set_fraction(new_val)    # As this is a timeout function, return TRUE so that it    # continues to get called    return Trueclass ProgressBar:    # Callback that toggles the text display within the progress    # bar trough    def toggle_show_text(self, widget, data=None):        if widget.get_active():            self.pbar.set_text("some text")        else:            self.pbar.set_text("")    # Callback that toggles the activity mode of the progress    # bar    def toggle_activity_mode(self, widget, data=None):        if widget.get_active():            self.pbar.pulse()        else:            self.pbar.set_fraction(0.0)    # Callback that toggles the orientation of the progress bar    def toggle_orientation(self, widget, data=None):        if self.pbar.get_orientation() == gtk.PROGRESS_LEFT_TO_RIGHT:            self.pbar.set_orientation(gtk.PROGRESS_RIGHT_TO_LEFT)        elif self.pbar.get_orientation() == gtk.PROGRESS_RIGHT_TO_LEFT:            self.pbar.set_orientation(gtk.PROGRESS_LEFT_TO_RIGHT)    # Clean up allocated memory and remove the timer    def destroy_progress(self, widget, data=None):        gobject.source_remove(self.timer)        self.timer = 0        gtk.main_quit()    def __init__(self):        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)        self.window.set_resizable(True)        self.window.connect("destroy", self.destroy_progress)        self.window.set_title("ProgressBar")        self.window.set_border_width(0)        vbox = gtk.VBox(False, 5)        vbox.set_border_width(10)        self.window.add(vbox)        vbox.show()          # Create a centering alignment object        align = gtk.Alignment(0.5, 0.5, 0, 0)        vbox.pack_start(align, False, False, 5)        align.show()        # Create the ProgressBar        self.pbar = gtk.ProgressBar()        align.add(self.pbar)        self.pbar.show()        # Add a timer callback to update the value of the progress bar        self.timer = gobject.timeout_add (100, progress_timeout, self)        separator = gtk.HSeparator()        vbox.pack_start(separator, False, False, 0)        separator.show()        # rows, columns, homogeneous        table = gtk.Table(2, 2, False)        vbox.pack_start(table, False, True, 0)        table.show()        # Add a check button to select displaying of the trough text        check = gtk.CheckButton("Show text")        table.attach(check, 0, 1, 0, 1,                     gtk.EXPAND | gtk.FILL, gtk.EXPAND | gtk.FILL,                     5, 5)        check.connect("clicked", self.toggle_show_text)        check.show()        # Add a check button to toggle activity mode        self.activity_check = check = gtk.CheckButton("Activity mode")        table.attach(check, 0, 1, 1, 2,                     gtk.EXPAND | gtk.FILL, gtk.EXPAND | gtk.FILL,                     5, 5)        check.connect("clicked", self.toggle_activity_mode)        check.show()        # Add a check button to toggle orientation        check = gtk.CheckButton("Right to Left")        table.attach(check, 0, 1, 2, 3,                     gtk.EXPAND | gtk.FILL, gtk.EXPAND | gtk.FILL,                     5, 5)        check.connect("clicked", self.toggle_orientation)        check.show()        # Add a button to exit the program        button = gtk.Button("close")        button.connect("clicked", self.destroy_progress)        vbox.pack_start(button, False, False, 0)        # This makes it so the button is the default.        button.set_flags(gtk.CAN_DEFAULT)        # This grabs this button to be the default button. Simply hitting        # the "Enter" key will cause this button to activate.        button.grab_default ()        button.show()        self.window.show()def main():    gtk.main()    return 0if __name__ == "__main__":    ProgressBar()    main()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -