class LoginWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setFixedSize(800, 500) self.setWindowTitle('鸡爪称重系统') # 创建一个QStackedWidget控件 self.stacked_widget = QStackedWidget(self) self.stacked_widget.setGeometry(0, 0, 800, 500) # 创建Login界面 login_widget = QWidget() self.stacked_widget.addWidget(login_widget) # 在Login界面上创建一个按钮 button = QPushButton('开始称重', login_widget) button.move(100, 100) button.setGeometry(300, 200, 200, 50) button.clicked.connect()怎么实现点击按钮跳转下个界面class LoginWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setFixedSize(800, 500) self.setWindowTitle('鸡爪称重系统') # 创建一个QStackedWidget控件 self.stacked_widget = QStackedWidget(self) self.stacked_widget.setGeometry(0, 0, 800, 500) # 创建Login界面 login_widget = QWidget() self.stacked_widget.addWidget(login_widget) # 在Login界面上创建一个按钮 button = QPushButton('开始称重', login_widget) button.move(100, 100) button.setGeometry(300, 200, 200, 50) button.clicked.connect(self.startWeighing) def startWeighing(self):
时间: 2023-12-22 12:06:19 浏览: 93
在startWeighing()函数中,可以使用QStackedWidget的setCurrentWidget()方法来切换到下一个界面。例如:
```
def startWeighing(self):
# 创建下一个界面
next_widget = QWidget()
self.stacked_widget.addWidget(next_widget)
# 切换到下一个界面
self.stacked_widget.setCurrentWidget(next_widget)
```
当点击按钮后,会创建下一个界面并切换到该界面。如果需要在下一个界面显示一些内容,可以在创建下一个界面的代码中添加相应的控件和布局。
相关问题
class LoginWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setFixedSize(800, 500) self.setWindowTitle('鸡爪称重系统')中怎么调用class MainWindow(QWidget): def __init__(self, user_id): super().__init__() self.user_id = user_id self.initUI() # 打开串口 self.ser = serial.Serial('COM7', 9600, timeout=1) def initUI(self): # 创建用于显示员工信息的控件 self.info_label = QLabel("员工信息", self) self.info_label.move(100, 50) self.info_label.setStyleSheet("font-size: 24px; color: black; background-color: #eee; border-radius: 10px;")
要在 LoginWindow 类中调用 MainWindow 类,你需要在 LoginWindow 类中添加一个按钮或者其他控件,然后给这个控件添加一个信号(signal),当这个控件被点击时,就会触发这个信号。接着在 LoginWindow 类中添加一个槽(slot),当信号被触发时,就会执行这个槽中的代码,从而打开 MainWindow 窗口。具体实现方法如下:
在 LoginWindow 类的 initUI 方法中添加一个按钮:
```
self.open_main_window_button = QPushButton("打开主窗口", self)
self.open_main_window_button.move(100, 100)
self.open_main_window_button.clicked.connect(self.open_main_window)
```
然后添加一个槽函数 open_main_window:
```
def open_main_window(self):
self.main_window = MainWindow(user_id)
self.main_window.show()
self.close()
```
这个方法中首先创建一个 MainWindow 实例,并传入 user_id 参数。然后调用 show 方法显示 MainWindow 窗口,并关闭当前 LoginWindow 窗口。这样当点击打开主窗口的按钮时,就会触发 open_main_window 方法,从而打开 MainWindow 窗口。
怎么实现class LoginWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setFixedSize(800, 500) self.setWindowTitle('鸡爪称重系统') # 创建一个QStackedWidget控件 self.stacked_widget = QStackedWidget(self) self.stacked_widget.setGeometry(0, 0, 800, 500) # 创建Login界面 login_widget = QWidget() self.stacked_widget.addWidget(login_widget) # 在Login界面上创建一个按钮 button = QPushButton('开始称重', login_widget) button.move(100, 100) button.setGeometry(300, 200, 200, 50)点击按钮后跳转下个界面,界面显示info_label
可以在startWeighing()函数中创建下一个界面,并在该界面上添加一个QLabel控件用于显示信息。
```
def startWeighing(self):
# 创建下一个界面
next_widget = QWidget()
self.stacked_widget.addWidget(next_widget)
# 添加一个QLabel控件用于显示信息
info_label = QLabel('这是下一个界面', next_widget)
info_label.setGeometry(300, 200, 200, 50)
# 切换到下一个界面
self.stacked_widget.setCurrentWidget(next_widget)
```
当点击按钮后,会创建下一个界面并切换到该界面,界面上会显示一个文本为“这是下一个界面”的QLabel控件。您可以根据需要修改文本内容和位置。
阅读全文