0


Qt调用主界面ui

一、适用情景

在其他类中使用主界面ui,this,控件操作等

二、步骤

首先,子类需要包含主界面的头文件和ui_xx.h文件,声明主界面类
然后使用构造函数把主界面的指针传递给子类
子类头文件:

#ifndefONEUI_H#defineONEUI_H//首先,包含主界面头文件等#include"mainwindow.h"#include"ui_mainwindow.h"classMainWindow;// 声明类classoneui{public:oneui(MainWindow *m_p);//构造函数传递父类指针

    MainWindow *on;//保存父类指针public:voidtest();};#endif// ONEUI_H

子类cpp文件:

#include"oneui.h"#include<QFileDialog>#include<QDebug>//然后,使用构造函数传递父类窗口指针
oneui::oneui(MainWindow *m_p){
    on = m_p;}//测试函数,作用:在主界面弹出文件选择框,打印出选择文件地址void oneui::test(){
    QString strData;
    QString curPash =QDir::currentPath();//获取当前路径
    QString dlgTitle="选择表格文件";//xls和xlsx格式的文件都可以,xlsx兼容xls,注意每一种类型后面要加两个分号
    QString filter="表格文件(*.xls *.xlsx);;xls文件(*.xls);;xlsx文件(*.xlsx);;所有文件(*.*)";//创建文件选择对话框
    QStringList fileList =QFileDialog::getOpenFileNames(on,dlgTitle,curPash,filter);if(fileList.count()<1)return;for(int i =0;i<fileList.count();i++){//保存文件地址
        strData = fileList.at(i);}//测试打印和调用父类ui控件qDebug()<<strData;
    on->ui->lineEdit->setText("sdawdw");}

主界面头文件设置ui为公有:

#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include<QMainWindow>#include"oneui.h"

QT_BEGIN_NAMESPACE
namespace Ui {classMainWindow;}
QT_END_NAMESPACE

classMainWindow:publicQMainWindow{
    Q_OBJECT

public:MainWindow(QWidget *parent =nullptr);~MainWindow();//设置公有
    Ui::MainWindow *ui;private slots:voidon_pushButton_clicked();};#endif// MAINWINDOW_H

主界面cpp文件设置:

#include"mainwindow.h"#include"ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent):QMainWindow(parent),ui(new Ui::MainWindow){
    ui->setupUi(this);}MainWindow::~MainWindow(){delete ui;}//测试按钮1voidMainWindow::on_pushButton_clicked(){//构建子类对象,将主界面this传递
    oneui one(this);
    one.test();}

效果图:
在这里插入图片描述

标签: ui qt 开发语言

本文转载自: https://blog.csdn.net/weixin_49297378/article/details/128445137
版权归原作者 连朔漠 所有, 如有侵权,请联系我们删除。

“Qt调用主界面ui”的评论:

还没有评论