QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

时间:2024-04-13 13:46:17

Qt初学菜鸟,设计界面时,遇到如上任务,想记录下出错的问题。

一.创建步骤如下:

1.首先使用Qt creator,新建项目test0如下操作:

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

2.创建项目test0完成后,在mainwindow.ui界面,添加一个pushbutton按钮,如下

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

3.回到编辑页面,右键项目名称,添加新文件,选择Qt-Qt设计师界面类,如下,此步的目的是为了创建点击按钮要弹出的新窗口,然后选择界面模板-dialog without button,选择类名,这里为了方便一切控件以及类名都是用的默认,选择后会出现相应的.cpp\.ui\.h文件(如果选择Widget的话只会出现相应的.ui界面)。

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

4.之后在新界面添加textEdit控件用来显示要选择的txt文件内容,选择之后可以选择layout布局(点击窗口空白部分,然后选择界面上方的布局方式),因为这样可以使textEdit控件随窗口大小自适应改变。

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

至此,所有文件列表如下:

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

5.下面开始代码的书写:

(1)打开mainwindow.h,右键pushbutton按钮-转到槽-选择click事件,在mainwindow.cpp中添加如下代码

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

在mainwindow.cpp添加:

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

在mainwindow.h中添加:

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

二.运行结果如下:

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

明明有在dialog界面添加了textEdit空间,结果竟然报上述错误,困扰了很久,没办法,菜鸟就是这么low,后来发帖有大神告知了出错原因是:

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

于是开始了改错旅程:

首先按大神指示,将改为QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

结果错误如下:

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

于是,在dialog.h中将其设为公有,同时将ui_dialog.h添加进mainwindow.cpp,不然还是会报使用未定义类型Ui:Dialog

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

之后运行成功。如下所示:

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

最后,全部有改动的代码记录:

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示

QT 实现点击主窗口按钮,打开文件选择txt并在新窗口显示