我正在使用tkinter编写一个应用程序,当按下按钮时,该应用程序将连接到sql DB并运行sql查询。我遇到了这样一个问题:当sql querys方法运行时,GUI会说“没有响应”,当它完成时,它会恢复正常。我决定将sql查询放在它自己的线程中,将tkinter的主循环放在它自己的线程中,但它根本不工作。。。?
def createGUI():
window = Tk()
window.title("Recon Report Generator")
lbl=Label(window, text="Enter Recon File Below", fg='blue', font=("Helvetica", 16))
lbl.place(x=90,y=50)
textBox=Entry(window, text="This is Entry Widget", bd=5)
textBox.place(x=135, y=100)
button=Button(window, height=1, width=15, text="Find Missing",
command=lambda: retrieve_input(textBox,lbl))
button.place(x=140, y=150)
window.geometry("400x400")
window.resizable(False, False)
_thread.start_new_thread(window.mainloop(), (0,))
这是我的GUI,我将主循环放在线程0中
还有这里
def retrieve_input(textBox,lbl):
detFile = "'"+(textBox.get())+"'"
lbl.place(x=140,y=50)
lbl.config(text="Enter Recon File Below")
_thread.start_new_thread(runDatabaseQuerys(detFile), (1,))
lbl.config(text="Finished...")
print("Finished Please check file")
我将sql查询运行方法放在线程1中,它们是独立线程,但我仍然得到“无响应”???
我很长一段时间都在讨论这个问题,直到我在stackoverflow上找到了关于使用多线程的答案。
Tkinter窗口显示(无响应),但代码正在运行
创建一个SQL查询函数的线程,如下所示
from threading import Thread
Thread(target = retrieve_input, args =(textbox, lbl, )).start()
我试图建立一个简单的自动点击程序,它有开始/停止按钮和热键(使用Tkinter和Pynput)。每当我用“开始”按钮启动自动点击器时,它都能正常工作,我也能停止它。但是,当我用热键启动自动点击器时,我不能用停止按钮停止它,因为它会冻结整个程序。 这是我的GUI主类: 这些是我的Clicker和键盘课程: 有人知道为什么在使用热键后按下停止按钮时会冻结吗?
当我单击submit或register时,需要两次单击才能完成任何操作。如何修复此问题?
猫日志
问题内容: 我想制定一个具有以下目标的程序: 1)创建一个JButton 2)使用键绑定将按钮附加到一个键(“ A”键)3)单击“ A”时执行一些代码 这是我到目前为止的代码: 现在,在哪里添加我希望在按下按钮时执行的代码? 问题答案: 您需要添加一个动作监听器,专门用于actionPerformed。在构造函数内的某处声明此内容: 在此示例中,如果我们按F2,则等效于按下按钮。
我在我的活动中有一个按钮,我希望它有我的主题的重音颜色。而不是像我们必须做前Lollipop一样制作我自己的绘图,自然我想使用新的背景色调属性。 不幸的是,它没有效果,按钮保持灰色。 我尝试了的不同值,但没有改变任何东西。 我还尝试在我的活动中以编程方式进行,但没有改变任何东西。 为什么我的色彩被忽略了? 编辑:只是澄清一下,我确实在测试Lollipop设备。其他小部件(如EditText)正确自
Button 控件是 Tkinter 中常用的窗口部件之一,同时也是实现程序与用户交互的主要控件。通过用户点击按钮的行为来执行回调函数,是 Button 控件的主要功用。首先自定义一个函数或者方法,然后将函数与按钮关联起来,最后,当用户按下这个按钮时,Tkinter 就会自动调用相关函数。 按钮控件使用起来非常简单,它同样可以包含文本、图像、位图,并通过 参数回调函数。当然按钮也并非一定要执行回调