QT C++ 编写多窗口之间的跳转 在一个窗口中可以变化很多UI界面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT C++ 编写多窗口之间的跳转 在一个窗口中可以变化很多UI界面相关的知识,希望对你有一定的参考价值。
就像这个窗口一样 ,点击 欢迎 按钮 会显示一个界面,点击 编辑 又会显示一个界面
qtabwidget的核心部件是qtabbar和qstackedwidget。qtabbar就是现实的一串标签,就像你的浏览器显示的标签一样。真正的显示内容的页面都装在qstackedwidget中,这是一个窗口容器。具体的东西你可以看看qt的帮助文件。 参考技术A 你可以用qtabwidget实现追问这........是什么?
初学者 还望理解
这是Qt的标签类,构建mainwindow后,用一个qtabwidget作为centralwidget,然后再构建每一个页面,分别用QTabWidget::addTab(部件,图标,标题)添加到作为centralwidget的qtabwidget中,然后就可以利用标签前后翻页了。如果你想做成像qt creator一样的界面,你可以用QTabWidget::setTabPosition设置标签栏的位置。示例在附件中(仅有mainwindow的构造函数部分)。
~
~ 参考技术C 这个比较简单的,使用QStackWidget!! 参考技术D http://download.csdn.net/download/yu_20501253/9904802这个你可以下来看看,符合你的要求
QT 多界面跳转以及窗口之间参数传递
一、模式
之前一直用的是c#,由于最近要使用CC来二次开发,所以先熟悉一下QT。
1、从一个界面跳到另外一个界面不需要返回
2、从一个界面跳到另外一个界面需要返回
1、新增主窗口
二、窗口跳转
需要返回:
主窗口
void MainWindow::on_Load_Btn_clicked()
static int count=0;
QString name=ui->lineEdit_userName->text();
QString pwd=ui->lineEdit_password->text();
if(name=="123" && pwd=="1234567")
ui->tishi->setText("OK, load success !!");
SecondWindow *min=new SecondWindow(this);
min->show();
this->hide();
else
count++;
if(count>3)
ui->lineEdit_userName->setEnabled(false);
ui->lineEdit_password->setEnabled(false);
ui->tishi->setText("all 3times,and you have");
第二个窗口:
#include "secondwindow.h"
#include "ui_secondwindow.h"
SecondWindow::SecondWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::SecondWindow)
ui->setupUi(this);
qDebug()<<" SecondWindow::SecondWindow: first mainwindow address :"<<parent ;
SecondWindow::~SecondWindow()
delete ui;
void SecondWindow::on_backBtn_clicked()
this->parentWidget()->show();
delete this;
原理:
注意点:
1、必须在新的窗口中传入当前的窗口的指针
三、不同窗口之间传参
本质上是类和类之间的传参
父窗口-》子窗口
1、在接受界面的窗口中定义一个函数,接收函数
2、在发送参数的那个界面中将这个 参数传递过去
子窗口-》父窗口
本质是信号 和槽
1、在子窗口中定义一个信号 用来发送参数
2、在子窗口中用信号发出
3、在主窗口中声明一个槽函数
4、使用信号与槽的关系来绑定
实践的项目名称:
以上是关于QT C++ 编写多窗口之间的跳转 在一个窗口中可以变化很多UI界面的主要内容,如果未能解决你的问题,请参考以下文章