QT学习——笔记(二)

作者: LLLL先生 | 来源:发表于2020-02-25 20:17 被阅读0次

实现多窗口对话

参照教程第二章

  • 实现了窗口的关闭弹出和不关闭弹出


    image.png

    可以用来制作登陆界面和多窗口互动

问题

  • 上面给出的教程是QT4的教程,而我电脑上安装的是QT5,会有一些版本差异
  • 在插入下面这段代码时
#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>
  • 另外给控件命名为中文也不需要另外声明
  • mainwindow.cpp文件中原教程代码为
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" //添加头文件

相关文章

网友评论

    本文标题:QT学习——笔记(二)

    本文链接:https://www.haomeiwen.com/subject/dlgfchtx.html