要屏蔽一个网站要怎么做,做网站寄生虫,卫生局网站模板,建标库官网入口文章目录 前言一、主窗口ui二、创建子窗口三、步骤1.主界面------子页面2.子界面------主页面 四、总结 前言
之前我们学了qt中最重要的东西–信号和槽 我们现在实现这样一个demo#xff0c;程序启动后弹出主界面#xff0c;点击主界面的按钮弹出子窗口#xff0c;… 文章目录 前言一、主窗口ui二、创建子窗口三、步骤1.主界面------子页面2.子界面------主页面 四、总结 前言
之前我们学了qt中最重要的东西–信号和槽 我们现在实现这样一个demo程序启动后弹出主界面点击主界面的按钮弹出子窗口隐藏主界面点击子窗口界面的按钮隐藏子界面显示主窗口。 当我们需要一个界面通知另一个界面时可以采用信号和槽机制。通过链接信号和槽当一个界面发送信号时链接该信号的槽会被响应从而达到消息传递的目的。
一、主窗口ui 二、创建子窗口
我们右击项目弹出菜单选择创建Qt设计师界面类选择Dialog without Buttons 然后创建子窗口ui
三、步骤
1.主界面------子页面
我们给主页面这个pushbutton加个信号和槽函数 下方代码在mainwindow.h中 加入信号
private slots:void on_pushButton_clicked();我们这个子页面我们将其指针对象写入mainwindow.h的类对象中这样在mainwindow.cpp的构造函数中直接初始化即可 下方代码在mainwindow.h中
public:MainWindow(QWidget *parent nullptr);~MainWindow();childDialog * _childdialog;下方代码在mainwindow中初始化类对象并且connect连接信号与槽 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui-setupUi(this);_childdialognew childDialog(this);connect(ui-pushButton,QPushButton::clicked,this,MainWindow::on_pushButton_clicked);
}下方代码在mainwindow.cpp中实现这个槽函数on_pushButton_clicked()
this-hide();_childdialog-show();现在完成了主页面向子页面的转换
2.子界面------主页面
我们给子页面这个pushbutton加个信号和槽函数
public slots:void on_pushButton_clicked1();下方代码在childdialog.cpp中实现这个槽函数on_pushButton_clicked1()
void childDialog::on_pushButton_clicked1()
{this-hide();emit returnmain();
}这个emit是释放信号的意思我们这里通过触发这个槽函数然后子页面直接隐藏然后释放这个returnmain的信号我们在主页面的中写一个connect连接这个信号触发一个主页面的show即可 下方代码是子页面的信号与槽的连接
connect(ui-pushButton,QPushButton::clicked,this,childDialog::on_pushButton_clicked1);下方代码是returnmain信号与主页面函数的连接与实现 connect(_childdialog,childDialog::returnmain,this,MainWindow::returnMainWindow);void MainWindow::returnMainWindow()
{this-show();
}
四、总结
我们在创建子页面的时候是通过childdialog生成的一个指针对象_childialog存放到主页面的类对象中在主页面的转换中通过多长调用即可不需要关闭后生成一个框然后再关闭再生成这样会导致自愿的浪费 并且通过信号与函数的连接可以让代码更简洁