我使用的Python 2.7和TK,使它访问的文本文件,并在其中使用数据做很多事情鬼,但这里的一个相关的发送Google即时通讯消息。 目前,我所拥有的一切工作,我需要一些帮助的一点是,当我打电话给我的模块发送消息,该消息被完全发送,但我希望用户拥有的过程中发生的指示,所以我创建了一个TTK 。进度条。 但有几件事情,我想改善这一点:
1)我想改变实际栏的外观,在查看源文件,我看不到任何选项,当我用Google搜索的问题,我能找到的唯一的解决方法是改变的源代码,我可以肯定,当我跑的文件,这将只能改变它,那么当用户运行它,它会是标准? 最好,我想酒吧是透明的,尽管蓝会的工作,我已经看到有蓝色的窗口机的状态有些人,窗户是我最关心的,所以如果我能得到说,在窗口蓝色的,但本地其他地方,这将是罚款。
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()