【问题标题】:Windows progress bar in python's Tkinterpython的Tkinter中的Windows进度条
【发布时间】:2011-09-17 21:53:57
【问题描述】:

在 python 的 Tkinter、bwidget 或任何类似的东西中是否有任何方法可以显示 Windwos 的默认进度条? 我已经知道 bwidget.ProgressBar,但它会产生一个丑陋的进度条,而我的意思是显示一个有效的 Windows 进度条 - 绿色、发光的进度条:

http://imageshack.us/photo/my-images/853/unledtph.png/

我需要它,因为这样 Windows 会自动在任务栏中显示我的程序的进度。另外,它看起来更好。

【问题讨论】:

    标签: python windows progress-bar tkinter python-2.6


    【解决方案1】:

    最简单的解决方案似乎是将主题 Tk 与 Python 2.7 和 3.1 中包含的 tkinter.ttk 模块一起使用。 Progressbar 小部件就是您想要的。

    由于您似乎正在考虑其他框架,因此您可能会查看 Qt 或 wxWidgets,它们看起来很原生并且具有出色的 Python 绑定。

    【讨论】:

    • 问题是我已经有一个使用 Tkinter 的完整的启动和运行应用程序 - 我想要做的就是添加一个 prog。吧。如果我想知道我应该使用什么 python 模块进行 GUI 编程 - 我会问这个问题。
    • @speller 两个答案都指向 tkinter.ttk。您还开始了您的问题“python 的 Tkinter、bwidget 或类似的东西有什么方法吗”,我认为答案不限于 Tkinter。无论如何,Bryan 让我说对了,看起来现代的 Tkinter 确实要好得多。
    • 标题清楚地写着“python的Tkinter”。 bwidget 与 Tkinter 一起工作,只是为它添加功能,但如果我不清楚,我很抱歉。无论如何 - 我知道你们俩都不知道用 2.6 的 Tkinter 来做这件事 - 所以 thnx :)
    • @speller 我只是想帮忙。像“如果我想知道我应该使用什么 python 模块来进行 GUI 编程——我会问这个问题”和“标题清楚地表明 python 的 Tkinter”这样的评论让我无法提供帮助。
    • 好吧,对不起——我不是故意冒犯你的
    【解决方案2】:

    如果您使用的是现代 (2.7+) 版本的 Tkinter,您可以尝试 ttk.ProgressBar,它是 Tkinter 的一部分。

    【讨论】:

    • +1 感谢您直截了当地提出我过时的误解。
    【解决方案3】:

    您可以单独安装pyttk 模块。

    from Tkinter import *
    import ttk
    root = Tk()
    progressbar = ttk.Progressbar(orient=HORIZONTAL, length=200, mode='determinate')
    progressbar.pack(side="bottom")
    progressbar.start()
    root.mainloop()
    

    就任务栏功能而言,这在 Tkinter 中尚不可用(至少据我所知)。为此,您需要使用 Windows API。尽管this question 是针对 PyQt 的,但答案应该会有所帮助。希望它能让你开始。

    【讨论】:

    • 哇!好了很多!但它看起来仍然与 Windows 显示的完全不一样。因此它也不会出现在我的任务栏中。你知道改善它的方法吗?
    • @speller 更新了我的答案,为您的任务栏问题提供了更多信息。
    • 好吧——非常有用。但我更关心进度条像普通窗口栏一样发光 - 你知道如何实现吗?
    • 完成后如何让它停止?
    • @JShoe:致电progressbar.stop()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 2013-05-04
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 2015-11-18
    相关资源
    最近更新 更多