因此,我已经编写了此PyQt5代码,无法理解为什么当我单击下载按钮时home
不被执行。另一方面,如果我将home
的内容移至__init__
,则工作正常。究竟出了什么问题以及如何纠正?
import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5 import Qt
class GUI(QMainWindow):
def __init__(self):
super(GUI, self).__init__()
self.setGeometry(50, 50, 800, 500)
self.setWindowTitle('App')
self.setWindowIcon(QIcon('icon.ico'))
backgroundImage = QImage('back.jpg')
backgroundScaledImage = backgroundImage.scaled(QSize(800,500))
palette = QPalette()
palette.setBrush(10, QBrush(backgroundScaledImage))
self.setPalette(palette)
self.progress = QProgressBar(self)
self.progress.setGeometry(20, 30, 300, 20)
self.btn = QPushButton('Download', self)
self.btn.move(200,120)
self.btn.clicked.connect(self.home)
#self.home()
QApplication.setStyle(QStyleFactory.create('plastique'))
self.show()
def home(self):
print('whoa')
# Create textbox
self.textbox = QLineEdit(self)
self.textbox.move(200, 200)
self.textbox.resize(280,40)
# Create a button in the window
self.button = QPushButton('Show text', self)
self.button.move(20,80)
self.show()
当我取消注释行#self.home()
或直接将代码放在该位置时,代码将按预期工作。但是,当我单击Download
按钮时,没有任何反应。