Python 为按钮分配多个功能
我想为一个按钮分配多个功能,但当我这样做时,它不会更改按钮文本,而是执行第二个功能。当我只连接setText函数时,它编辑文本。这就是截取的代码:Python 为按钮分配多个功能,python,user-interface,pyqt,pyqt5,Python,User Interface,Pyqt,Pyqt5,我想为一个按钮分配多个功能,但当我这样做时,它不会更改按钮文本,而是执行第二个功能。当我只连接setText函数时,它编辑文本。这就是截取的代码: ui.button_start.clicked.connect(lambda: ui.button_start.setText("Stop")) ui.button_start.clicked.connect(lambda: bot.accept_request(loop=True)) 我已经在互联网上搜索过了,他们说应该有用,
ui.button_start.clicked.connect(lambda: ui.button_start.setText("Stop"))
ui.button_start.clicked.connect(lambda: bot.accept_request(loop=True))
我已经在互联网上搜索过了,他们说应该有用,但没有:(
我想我还必须说,accept_request()在chromedriver中打开一个URL,但奇怪的是,即使在Selenium调用之前调用editText函数,它也不会编辑文本(Selenium调用有效).您可以编写第三个函数来调用其他两个函数,并让按钮仅执行
帮助程序
函数:
def helper():
ui.button_start.setText("Stop")
bot.accept_request(loop=True)
ui.button_start.clicked.connect(helper)
您可以尝试使用以下两行代码: 导入系统 从PyQt5.QtWidgets导入QPushButton、QApplication、QWidget 类主窗口(QWidget): 定义初始化(自): super()。\uuuu init\uuuuu() btn=QPushButton(self,text=“Hello World”) #这个有两行 btn.单击的.connect(self.func_1) btn.单击的.connect(self.func_2) def func_1(自身): 打印(“已单击按钮!(功能1)”) def func_2(自身): 打印(“已单击按钮!(功能2)”) 如果名称=“\uuuuu main\uuuuuuuu”: app=QApplication(sys.argv) 窗口=主窗口() window.show() sys.exit(app.exec())
它比编写一个调用另外两个函数的函数要干净得多。为什么你有
tkinter
标记?我就是这么做的,但它仍然不起作用(我还编辑了我的问题)。这对我来说很有效,你能试一下这个代码片段吗(在没有其他代码的情况下,自己试试看它是否起作用)?这样我们可以尝试缩小问题的范围。@falk2然后提供一个它仍然不起作用(我编辑了我的问题)@falk2然后提供一个@ArcKoor lambda是不必要的,使用ui.button\u start.clicked.connect(helper)