gpt4 book ai didi

python - 改变 xpnative 主题中 ttk.Progressbar 元素的颜色 - python

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:10 28 4
gpt4 key购买 nike

我正在使用 python 2.7 和 TK 制作一个 gui,它可以访问文本文件并使用其中的数据来做很多事情,但这里相关的是发送 gchat 消息。目前,我一切正常,我需要一些帮助的一点是当我调用我的模块发送消息时,消息被完美地发送,尽管我希望用户知道正在发生的过程,所以我创建了一个 ttk 。进度条。但我想对此进行一些改进:

1) 我想更改实际栏的外观,在查看源文件时,我看不到任何选项,当我用谷歌搜索这个问题时,我唯一能找到的解决办法是更改源代码,我很确定这只会在我的文件运行时改变它,然后当用户运行它时,它会成为标准吗?最好,我希望条形图是透明的,虽然蓝色会起作用,但我看到有些人在窗口机器中将蓝色作为状态,Windows 是我主要关心的问题,所以如果我能说,Windows 中的蓝色,但是本地其他地方,那会很好。

2)希望这个更简单一点,但是当按下按钮时,它会从用户输入中获取值,这些值仍然可以更改,可能会改变函数的结果,无论如何都要停止对 tk 的所有输入窗口,然后在功能完成时恢复?

以下是我目前的情况,感谢您的帮助

            self.progressbar = ttk.Progressbar(self.gcTableButtonsFrame, length = 70, orient=HORIZONTAL, mode ='determinate')
self.progressbar.grid(column = 0, row = 0, sticky = 'n s')

#we then pass through the extension and the string 'test' through this fnction from the gchat module which will then send a
#gchat message to the extension passed through
self.bytes = 0
self.maxbytes = 0
self.start()
self.t = thread.start_new_thread(gchat.sendGChatMessage,(text, "test"))
except IndexError:
tkMessageBox.showinfo("Invalid Entry", "Please first select an Entry to send to")

def start(self):
self.progressbar["value"] = 0
self.maxbytes = 50000
self.progressbar["maximum"] = 50000
self.read_bytes()

def read_bytes(self):
'''simulate reading 500 bytes; update progress bar'''
selection2 = self.gcTable.selection()
self.bytes += 700
self.progressbar["value"] = self.bytes
if self.bytes < self.maxbytes:
# read more bytes after 100 ms
Tk.after(self.mainPyWindow, 100, self.read_bytes)
else:
tkMessageBox.showinfo("Message Sent", "A GChat message has been sent to " + self.gcTable.item(selection2, 'values')[1])
self.progressbar.destroy()

最佳答案

你的第一个问题有点模棱两可,因为我不确定你是在谈论控制进度条的外观还是它显示的进度的性质。

进度条的性质通过它的值和它的 mode 选项来控制(determinate 进度条不同于 indeterminate 进度条;前者通过 value 控制,后者仅显示“某事正在发生”)。

进度条的外观由整体主题控制。在 Windows 和 Mac OS X 上,默认主题是系统主题,这意味着进度条看起来是原生的,无论是什么。我最近没有在 Linux 上尝试过主题,所以我忘记了它们在那里的样子;切换主题:

# Switch to the included 'clam' theme
s = ttk.Style()
s.theme_use('clam')

关于python - 改变 xpnative 主题中 ttk.Progressbar 元素的颜色 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13157214/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com