利用qt中的控件stackedWidget来实现界面的切换

一、首先界面布局大概是这样的,如图:

二、 界面三,则需要重新生成一个Qt 设计师界面类 的带界面的文件,这个界面就是命名为form,在ui中进行布局如图所示:

  //定义一个指针
    Form *Form_ui;

三、在mainwindow.h文件中,我们先需要对form类进行实例化,所以在mainwindow中定义指针,并进行初始化,在按钮的点击事件中进行调用stackedWidget,加载界面一和界面二,只需要以下一句代码:

 ui->stackedWidget->setCurrentIndex(0);//第0页表示显示的是初始的第一页

四、加载界面三的时候,需要将Form界面加载进来,所以在构造函数中进行初始化,并加载进来

  Form_ui = new Form();//进行分配内存
    ui->stackedWidget->addWidget(Form_ui);//将form的UI界面加载进来

五、最后界面显示如图:

点击按钮界面三的时候,如图所示:

完成,需要源码的,请参考: https://download.csdn.net/download/Littlehero_121/11986878

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt Designer实现界面切换,可以通过以下步骤: 1. 在Qt Designer设计两个或多个需要切换界面,每个界面作为一个QWidget。 2. 在第一个界面添加一个QPushButton,并在其clicked信号上连接一个槽函数。 3. 在槽函数使用QStackedWidget控件实现界面切换。QStackedWidget控件可以在运行时动态地添加和删除QWidget,而且只会显示当前活动的QWidget。 4. 在槽函数,使用setCurrentIndex()函数设置QStackedWidget控件当前显示的QWidget索引号,以实现界面切换。 以下是一个示例代码,其有两个QWidget界面,分别命名为page1和page2,通过一个QPushButton实现从page1切换到page2: ```python from PyQt5.QtCore import pyqtSlot from PyQt5.QtWidgets import QMainWindow, QApplication, QStackedWidget from ui_page1 import Ui_Page1 from ui_page2 import Ui_Page2 class MainWindow(QMainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) # create QStackedWidget and add the pages self.stackedWidget = QStackedWidget() self.page1 = Ui_Page1() self.page2 = Ui_Page2() self.stackedWidget.addWidget(self.page1) self.stackedWidget.addWidget(self.page2) # set the central widget to the stacked widget self.setCentralWidget(self.stackedWidget) # connect button clicked signal to slot function self.page1.pushButton.clicked.connect(self.switchPage) @pyqtSlot() def switchPage(self): # switch to page2 self.stackedWidget.setCurrentIndex(1) ``` 注意,在此示例,使用了两个单独的UI文件,分别为ui_page1.py和ui_page2.py,需要在代码导入这些文件并将它们添加到QStackedWidget
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值