【发布时间】:2015-12-22 07:20:15
【问题描述】:
在 index.py 文件中,这一行工作正常, 但在导入类中,类似的行将不起作用!我不明白为什么。
然后我用鼠标点击按钮,它不起作用,没有调用 BtnClck1 方法,也没有 print-SecondWindowPrint。
但是如果我以编程方式调用 PushButton click,它工作正常。
如果我从 index.py 进行连接,PushButton 可以正常工作
这里是 GitHub github.com/m0x3/test1 上的完整代码
代码如下:
index.py 导入系统 从 PyQt5 导入 uic from PyQt5.QtWidgets import QMainWindow, QApplication
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# Set up the MainWindow from Designer.
uic.loadUi("mw.ui", self)
# Connect up the buttons.
self.pushButton.clicked.connect(self.BtnClck)
self.show()
def BtnClck(self):
# Set up the ContentWindow from Designer.
from form1 import form1
form1(self.mn_general)
self.mn_general.pushButton_2.clicked.connect(form1.BtnClck1) #this works fine
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MainWindow()
sys.exit(app.exec_())
form1.py
from PyQt5 import uic
class form1:
def __init__(self, obj):
super().__init__()
uic.loadUi("form1.ui", obj)
obj.pushButton.setText('TextChanged on init') #this works fine
obj.pushButton.clicked.connect(self.BtnClck1) #this NOT works
obj.pushButton.click() #this works fine!
def BtnClck1(self):
print('SecondWindowPrint')
【问题讨论】:
-
您的代码很清楚,但我不知道什么不起作用。当你说“行不通”是什么意思?一个错误?要不然是啥。显示不起作用的代码。
-
然后我用鼠标单击 pushButton,它不起作用,没有调用 BtnClck1 方法,也没有调用 print-SecondWindowPrint 但是如果我以编程方式调用 PushButton click,它工作正常。如果我从 index.py 制作
connect,PushButton 工作正常这是 GitHub 上的完整代码 github.com/m0x3/test1