Qt多个ui界面的使用实例

  1. 首先添加ui文件,右键项目名--添加新文件----Qt----Qt Designer Form
  2. 在新加的ui文件中添加自己需要的控件
  3. 编译一下项目,在工程文件下回生成一个ui_XXXXX.h格式的头文件
  4. 给新建的ui文件添加类,右键项目名--添加新文件----C++----C++ Class,类的内容大体如下:
    //test.h
    
    #ifndef TEST_H
    #define TEST_H
    
    #include <QWidget>
    
    namespace Ui {
    class test;
    }
    
    class test : public QWidget
    {
        Q_OBJECT
    public:
        explicit test(QWidget *parent = 0);
        ~test();
    
    private:
        Ui::test *ui;
    
    signals:
    
    public slots:
    };
    
    #endif // TEST_H
    //test.cpp
    
    #include "test.h"
    #include "ui_test.h"
    
    test::test(QWidget *parent) : QWidget(parent), ui(new Ui::test)
    {
        ui->setupUi(this);
    }
    
    test::~test()
    {
        delete ui;
    }
    
    

    最后在需要用到该窗口的时候创建调用即可:

    test widget;
    widget->show();

     

要实现两个UI窗口的跳转,你可以使用PyQt中的QStackedWidget控件。QStackedWidget可以容纳多个窗口,并且只显示其中的一个窗口。你可以在一个窗口中点击按钮或执行某些操作来切换到另一个窗口。 以下是一个简单的示例代码,演示了如何在两个UI窗口之间进行跳转: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QPushButton, QLabel, QStackedWidget class Window1(QWidget): def __init__(self): super().__init__() layout = QVBoxLayout() self.button = QPushButton('跳转到Window2') self.button.clicked.connect(self.switch_window) layout.addWidget(self.button) self.setLayout(layout) def switch_window(self): window2.setCurrentIndex(1) class Window2(QWidget): def __init__(self): super().__init__() layout = QVBoxLayout() self.label = QLabel('这是Window2') layout.addWidget(self.label) self.setLayout(layout) if __name__ == '__main__': app = QApplication(sys.argv) stackedWidget = QStackedWidget() window1 = Window1() window2 = Window2() stackedWidget.addWidget(window1) stackedWidget.addWidget(window2) stackedWidget.show() sys.exit(app.exec_()) ``` 在这个例子中,我们创建了两个窗口Window1和Window2。Window1中有一个按钮,当点击该按钮时,会切换到Window2。QStackedWidget用来容纳这两个窗口,并且默认只显示第一个窗口。通过setCurrentIndex方法可以切换显示的窗口,索引从0开始,所以setCurrentIndex(1)表示显示第二个窗口。 你可以根据自己的需要修改窗口的布局和添加更多的控件,以实现更丰富的界面和交互。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值