我对PyQt5非常陌生,正在制作一个简单的程序,用户首先会看到两个按钮的选择,当他们按下一个按钮时,应该会将它们带到一个新的屏幕上,当他们按下另一个按钮时,会将它们带到另一个屏幕上。我在按下按钮时无法打开新的控件。我尝试过的方法是创建一个创建小部件的函数,当用户按下按钮时,这个函数就会运行,但是目前这个小部件不是由这个函数创建的。在
这是我的密码。在
def StudentLog():
class StudentLogin(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Student log in screen')
self.show()
class Login(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
QToolTip.setFont(QFont('SansSerif', 10))
self.setToolTip('Login screen')
btn = QPushButton('Student Login', self)
btn.setToolTip('This will log you in as a student')
btn.move(10, 50)
btn.clicked.connect(StudentLog)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Log in screen')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Login()
sys.exit(app.exec_())
这里的问题是,您只在函数
StudentLog()
内声明一个类,然后永远不会创建该类的实例。在我建议将此函数移到
Login
类中,以创建一个可以轻松调用的方法来创建此实例,其优点是可以使用self.
跟踪新小部件:相关问题 更多 >
编程相关推荐