我希望代码在后台运行并定期更新我的GUI。我该怎么做?
例如,假设我想在GUI代码的背景中执行以下操作,如下所示:
x = 0
while True:
print(x)
x = x + 1
time.sleep(1)
这是GUI代码:
class GUIFramework(Frame):
def __init__(self,master=None):
Frame.__init__(self,master)
self.master.title("Volume Monitor")
self.grid(padx=10, pady=10,sticky=N+S+E+W)
self.CreateWidgets()
def CreateWidgets(self):
textOne = Entry(self, width=2)
textOne.grid(row=1, column=0)
listbox = Listbox(self,relief=SUNKEN)
listbox.grid(row=5,rowspan=2,column=0,columnspan=4,sticky=N+W+S+E,pady=5)
listbox.insert(END,"This is an alert message.")
if __name__ == "__main__":
guiFrame = GUIFramework()
guiFrame.mainloop()
尚不清楚顶部的代码应该做什么,但是,如果只想每秒(或每秒钟)调用一个函数,则可以使用该after
方法。
因此,如果您只想使用进行操作textOne
,则可能需要执行以下操作:
...
textOne = Entry(self, width=2)
textOne.x = 0
def increment_textOne():
textOne.x += 1
# register "increment_textOne" to be called every 1 sec
self.after(1000, increment_textOne)
您可以将此函数作为您类的方法(在本例中称为callback
),您的代码将如下所示:
class Foo(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.x = 0
self.id = self.after(1000, self.callback)
def callback(self):
self.x += 1
print(self.x)
#You can cancel the call by doing "self.after_cancel(self.id)"
self.id = self.after(1000, self.callback)
gui = Foo()
gui.mainloop()
问题内容: 有没有一种方法可以使用Tkinter在Python 3.x中创建“加载屏幕”?我的意思是像Adobe Photoshop的加载屏幕一样,具有透明度等。我设法摆脱已经使用的框架边框: 但是,如果我这样做: 图像显示正常,但背景为灰色而不是透明。 有没有一种方法可以增加窗口的透明度,但仍可以正确显示图像? 问题答案: 在tkinter中,没有跨平台的方法可以使背景透明。
基本上,我正在Python中的一个订阅计数器应用程序的“草案”上工作。我使用YouTube数据API从YouTube获取数据,然后循环这段代码以更新订阅者计数。但是由于我的GUI代码在循环之后,它永远不会开始,因为循环是无限的,永远不会结束。我尝试将GUI部分放在代码之前,以获得子计数,但没有定义任何变量,因此返回错误。所以基本上,我的问题是如何重新组织它,使其工作,子计数在GUI中更新。我听说过
我正在做简单的Spring批量工作。当我启动作业时,它在无限循环中运行。它不会停止。根据我的时间表,它应该每10秒运行一次。但当工作开始时,它不会停止。它只是分别从读卡器、处理器和写入器打印系统输出。我正在为读者、处理者和作者创造工作机会。我正在按注释进行所有配置。不是通过xml。 下面是批处理配置 PersonReader。JAVA 人Writer.java 个人处理器。JAVA
我知道这在StackOverflow上被问过很多次,但我尝试过很多不同的解决方案,没有一个奏效。所以我决定问问社区该怎么做。下面是我的代码中的相关片段。 请注意,这只是我的代码中从控制台输入的部分,不包含任何其他内容。我有其他东西设置,要求代码是这种格式。 将Input.HasNext()替换为Input.HasNextLine() 将input.hasnext()替换为input.next()!
问题内容: 我正在使用svg图像作为背景。我正在尝试使用CSS3,但即使在应支持CSS3的浏览器(例如Chrome)中,它也似乎无法正常工作。 如果您查看此站点,将会看到(在食物图片的右侧/下方)带有红色横幅背景的背景。请注意,当您缩小窗口时,背景图像的高度会下降以保持其比例,而不是像我想要的那样拉伸。 编辑:我在FireFox上检查了它,它可以正常工作…所以这似乎是一个webkit问题。 编辑:
我正在使用Python和Tkinter来创建一个游戏,我正在尝试使用不同的“屏幕”(主菜单和到目前为止的关卡编辑器),每个屏幕都是对象,在主菜单屏幕()的类定义中,在第11行的中,我试图使用以更改“主菜单”的宽度、高度和背景色。帧。但当我运行这段代码时,背景仍然是灰色的。我猜我错过了一些明显的东西(我对Tkinter和类还是相当陌生)。任何帮助都将不胜感激——谢谢。