[QT基础]QT不同ui界面的简单切换(C++)

一,设备版本

        window10,QT 5.11.1,语言c++

二,设计需求

        设计两个ui界面,能实现一个ui界面到另一个ui界面的跳转。

三,代码设计 

为了以防万一,如果是第一次使用qt创建ui界面可以参考以下博客

QT界面创建

1,代码思路

        两个ui界面,使用一个按钮进行页面的切换,考虑到实际的应用场景,这里是通过两个具体的ui文件,让使用者从一个界面文件跳转到另一个界面文件,而不是在一个界面文件中创建两个界面,这样可以方便实际使用时对各个的界面布局。

ps:如果不知道如何给已有的文件继续添加ui界面文件,可以参考以下博客

QT增加界面文件

2,文件需求

        拥有两个ui界面文件

3,ui文件布局

mainwindow1.ui

基于 Python 的 Qt 实现 UI 界面跳转,可以通过以下步骤实现: 1. 创建多个 UI 界面文件,例如 `login.ui`、`dashboard.ui` 等,并使用 Qt Designer 工具进行设计。 2. 使用 `pyuic5` 命令将 UI 界面文件转换为 Python 代码文件。例如,对于 `login.ui` 文件,可以使用以下命令将其转换为 `login_ui.py` 文件: ``` pyuic5 login.ui -o login_ui.py ``` 3. 在 Python 代码中导入转换后的 UI 界面代码,并使用 `QMainWindow` 类或 `QWidget` 类创建窗口对象。 4. 在窗口对象中添加按钮或其他控件,并为其设置点击事件。例如,对于登录页面,可以添加一个登录按钮,并在其点击事件中执行登录验证操作。 5. 在点击事件中,可以使用 `hide()` 方法隐藏当前窗口,并使用 `show()` 方法显示下一个窗口。例如,对于登录页面中的登录按钮,可以在其点击事件中执行以下代码: ```python def login_clicked(self): # 执行登录验证操作 if self.validate_login(): # 验证通过,隐藏当前窗口,并显示下一个窗口 self.hide() dashboard_window = DashboardWindow() dashboard_window.show() ``` 以下是一个简单的示例代码: ```python from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QLineEdit, QVBoxLayout, QWidget class LoginWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('Login') self.username_label = QLabel('Username:') self.username_edit = QLineEdit() self.password_label = QLabel('Password:') self.password_edit = QLineEdit() self.password_edit.setEchoMode(QLineEdit.Password) self.login_button = QPushButton('Login') self.login_button.clicked.connect(self.login_clicked) layout = QVBoxLayout() layout.addWidget(self.username_label) layout.addWidget(self.username_edit) layout.addWidget(self.password_label) layout.addWidget(self.password_edit) layout.addWidget(self.login_button) widget = QWidget() widget.setLayout(layout) self.setCentralWidget(widget) def login_clicked(self): # 执行登录验证操作 if self.validate_login(): # 验证通过,隐藏当前窗口,并显示下一个窗口 self.hide() dashboard_window = DashboardWindow() dashboard_window.show() def validate_login(self): # 执行登录验证操作 return True class DashboardWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('Dashboard') self.label = QLabel('Welcome to the dashboard!') layout = QVBoxLayout() layout.addWidget(self.label) widget = QWidget() widget.setLayout(layout) self.setCentralWidget(widget) if __name__ == '__main__': app = QApplication([]) login_window = LoginWindow() login_window.show() app.exec_() ``` 在这个示例中,我们创建了两个窗口对象 `LoginWindow` 和 `DashboardWindow`,并在登录页面中添加了一个登录按钮。在登录按钮的点击事件中,我们执行登录验证操作,并在验证通过后,隐藏当前窗口,并显示下一个窗口。在目标页面中,我们添加了一个标签,并显示欢迎消息。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值