QT学习笔记----窗口的相互切换

原创 2012年03月22日 15:14:49

转载请注明出处:(奔跑的蜗牛(袁方的技术博客)http://blog.csdn.net/yf210yf/article/details/7383302

1.ui文件中布局


 

2.主要程序

main.cpp

#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    
    return a.exec();
}


mainwindow.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;
}

void MainWindow::on_pushButton_clicked()
{
    this->hide();
    dialog1.show();
    dialog1.exec();
    this->show();

}

void MainWindow::on_pushButton_2_clicked()
{
    this->close();
}



void MainWindow::on_pushButton_3_clicked()
{
    this->close();
    dialog2.show();
    dialog2.exec();
    this->show();
}


dialog1.cpp

#include "dialog1.h"
#include "ui_dialog1.h"

Dialog1::Dialog1(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog1)
{
    ui->setupUi(this);
}

Dialog1::~Dialog1()
{
    delete ui;
}

void Dialog1::on_pushButton_clicked()
{

    this->close();
}


dialog2.cpp

与dialog1.cpp类似

mainwindow.h

ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "dialog1.h"
#include "dialog2.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT
    
public:
    explicit MainWindow(QWidget *parent = 0);

    ~MainWindow();
    
private slots:
    void on_pushButton_clicked();

    void on_pushButton_2_clicked();


    void on_pushButton_3_clicked();

private:
    Ui::MainWindow *ui;
    Dialog1 dialog1;
    Dialog2 dialog2;
};

#endif // MAINWINDOW_H


关键点:

    this->close();
    dialog2.show();
    dialog2.exec();
    this->show();

 

通过等待dialog.exec()消息,判断主界面是否回显。

运行结果:

 

 

 

Qt 第二课 对话框之间的切换

qt 对话框切换,登录对话框

【Qt编程】Qt学习之窗口间的相互切换

在用Qt设计GUI时,经常要设计两个窗口之间的相互切换,即可以从一个窗口跳转到另一个窗口,然后又从另一个窗口跳转回原窗口。下面我们来介绍具体的实现方法: 首先,我们建立Qt  Gui应用,项目名Two...

PyQT之多窗口切换

最近做个软件,用PyQT写的,在实现菜单栏点击弹出新窗口的时候严重被卡壳,发现用WxPython的思想和方式来做完全无法实现。PyQT的中文资料实在是太少了。看了点英文资料和QT的资料,逆推PyQT的...

PyQt5教程-18-窗口分隔

QSplitter 使用户可以通过拖动子面板的边界控制子面板的大小。在我们的例子中,我们使用了两个QSplitter 对三个QFrame 控件进行了分隔。#!/usr/bin/python3 # -*...

5-QT5多窗口切换以及所有对话框的实现

这里我要实现的是一个由多个窗口组成而且各个窗口之间可以切换的程序。 实现之前必须了解一些必备知识; 模态和非模态对话框的概念: 简单来说就是模态对话框,对话框之间相互不交互,例如退出提示框,而非模态对...

Qt多窗口来回切换实战

学习Qt有一段时间了,今天算是空闲,总结一下之前过的多窗口切换的实现过程。因为自己在学这个的时候在网上查找过一些资料,感觉都没有完全把过程讲清楚,对于初学者来说是一种痛苦(老是缺这缺那得,估计都是大神...

QT实现界面跳转切换

简介

使用Qt Designer和手动编写代码两种方式实现多窗口切换程序(Qt基础)

今天花了一下午的时间学习了在Qt中如何进行多窗口切换的编程,网上看了很多教程,出了很多错误,找到了一个使用Qt Desinger编写的小程序,然后自己再试着用手动编写代码的方法实现多窗口切换,接下来分...

操作系统多线程例子--吃水果问题

import java.util.concurrent.locks.*; class Resource // 封装水果资源,提供放水果和吃水果方法。 { private String name; ...

学习OpenCV(三十一) -- 视频处理

视频处理用到的函数:
  • thystar
  • thystar
  • 2014年11月16日 23:56
  • 1700
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT学习笔记----窗口的相互切换
举报原因:
原因补充:

(最多只允许输入30个字)