Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为按钮分配多个功能_Python_User Interface_Pyqt_Pyqt5 - Fatal编程技术网

Python 为按钮分配多个功能

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)) 我已经在互联网上搜索过了,他们说应该有用,

我想为一个按钮分配多个功能,但当我这样做时,它不会更改按钮文本,而是执行第二个功能。当我只连接setText函数时,它编辑文本。这就是截取的代码:

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)