Qt学习:Action on menu to display another ui

2000阅读 0评论2013-11-21 helianthus_lu
分类:C/C++

在一个UI界面中设置一个按钮,当点击该按钮之后,显示另一UI界面窗体。

点击(此处)折叠或打开
  1. //mainwindow.h
  2. #ifndef MAINWINDOW_H
  3. #define MAINWINDOW_H

  4. #include <QMainWindow>
  5. #include <QPushButton>
  6. #include "wizard.h"

  7. namespace Ui {
  8. class MainWindow;
  9. }

  10. class MainWindow : public QMainWindow
  11. {
  12.     Q_OBJECT
  13.     
  14. public:
  15.     explicit MainWindow(QWidget *parent = 0);
  16.     ~MainWindow();

  17.     QPushButton *push;
  18.     Wizard * wiz;

  19. private slots:
  20.     void on_pushButton_clicked();

  21. private:
  22.     Ui::MainWindow *ui;
  23. };

  24. #endif // MAINWINDOW_H

点击(此处)折叠或打开

  1. //mainwindow.cpp
  2. #include "mainwindow.h"
  3. #include "ui_mainwindow.h"
  4. #include <QDebug>

  5. MainWindow::MainWindow(QWidget *parent) :
  6.     QMainWindow(parent),
  7.     ui(new Ui::MainWindow)
  8. {
  9.     ui->setupUi(this);
  10. }

  11. MainWindow::~MainWindow()
  12. {
  13.     delete wiz;
  14.     delete ui;
  15. }

  16. void MainWindow::on_pushButton_clicked()
  17. {
  18.     wiz = new Wizard(this);
  19.    // qDebug() << "1";
  20.     wiz->show();
  21. }

点击(此处)折叠或打开

  1. //wizard.h
  2. #ifndef WIZARD_H
  3. #define WIZARD_H
  1. #include <QWizard>//QWizard是Qt的向导类

  2. namespace Ui {
  3. class Wizard;
  4. }

  5. class Wizard : public QWizard
  6. {
  7.     Q_OBJECT
  8.     
  9. public:
  10.     explicit Wizard(QWidget *parent = 0);
  11.     ~Wizard();

  12. private:
  13.     Ui::Wizard *ui;
  14. };

  15. #endif // WIZARD_H

点击(此处)折叠或打开

  1. //wizard.cpp
  2. #include "wizard.h"
  3. #include "ui_wizard.h"

  4. Wizard::Wizard(QWidget *parent) :
  5.     QWizard(parent),
  6.     ui(new Ui::Wizard)
  7. {
  8.     ui->setupUi(this);
  9. }

  10. Wizard::~Wizard()
  11. {
  12.     delete ui;
  13. }

点击(此处)折叠或打开

  1. //测试。。。main.cpp
  2. #include <QtGui/QApplication>
  3. #include "mainwindow.h"
  4. #include "wizard.h"

  5. #include <QDebug>

  6. int main(int argc, char *argv[])
  7. {
  8.     QApplication a(argc, argv);
  9.     MainWindow w;
  10.     w.show();  
  11.     return a.exec();
  12. }
结果:点击按钮之前:                                                                                                                                点击按钮之后:
                       
注释:
QWizard类:QWizard类是Qt的向导类,提供了一个向导对话框的框架,具体说明参考
1》  
2》  http://harmattan-dev.nokia.com/docs/library/html/qt4/qwizardpage.html

上一篇:Qt学习:自己实现对txt文件操作的基本接口函数open()/read()/write()/clear()/close()
下一篇:C++笔记:组合与继承