我的大学无忧·日更给自己的一些经验

QT学习——笔记(二)

2020-02-25  本文已影响0人  LLLL先生

实现多窗口对话

参照教程第二章

问题

#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QTextCodec> //添加头文件
#include "logindlg.h" //添加头文件
int main(int argc, char *argv[])
{
  QApplication a(argc, argv);
  // QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); //设置编码
  QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
  MainWindow w;
  LoginDlg dlg;                        // 建立自己新建的类的对象dlg
  if(dlg.exec() == QDialog::Accepted) // 利用Accepted返回值判断按钮是否被按下
   {
      w.show();                      // 如果被按下,显示主窗口
      return a.exec();               // 程序一直执行,直到主窗口关闭
  }
  else return 0;            //如果没被按下,则不会进入主窗口,整个程序结束运行
}
include <QtGui/QApplication>  要改成  #include <QtWidgets>
void MainWindow::on_pushButton_clicked()
{
    QDialog *dlg = new QDialog(this);
        dlg->show();
}

所对应弹出的窗口如下

image.png
如果要改成其他样式的弹出窗口,需要把QDialog *dlg = new QDialog(this);改为QDialog *dlg = new LoginDlg(this);
注:要先添加头文件#include "logindlg.h" //添加头文件
上一篇下一篇

猜你喜欢

热点阅读