vs2013加载qt后,怎么建立多个ui窗口

vs2013加载qt后,怎么建立多个ui窗口,第1张

假如第二个UI类叫做widgetUiB,1、首先连接按钮控制的信号槽on_pushbutton_clicked()2、或可吧widgetUiB申请为类变量,或者直接在上面的槽函数执行也可以3、widgetUiB *widget = new widgetUiB(this)widget->show()// 显示第二个UI界面

第一步,制作ui文件

首先应该用Qt Designer绘制一个自己的界面,并存为myform.ui(这里的myform可以用自己喜欢的名字代替)。

在制作自己的界面文件时要注意以下几个要点:

1、要记住ui文件的名字,因为uic生成的代码会存在ui_myform.h里

2、要记住主窗体的object name, 因为ui文件提供的类名将以这个form的名字来命名

3、要特别注意你的form选择的基类要和你代码中的窗体类兼容

4、要记得给每个后面需要访问到的控件起一个有意义并且好记的object name, 因为ui文件提供的控件将以这些object name来命名

清楚了以上几点,在代码中使用你的ui文件就会变得非常简单。

第二步,将ui文件加入工程

这一步最简单,只需要修改pro文件,加入FORMS+=myform.ui

qmake -project命令也可以识别后缀名为ui的文件,并将之加入工程。

第三步,在代码中引用ui文件

官方介绍的使用ui文件的方法有三种,一个是直接引用,二是单继承,三是多继承。第一种方法其实很不实用,大家去看一下文档中的例子就可以了;第二种和第三种没有本质的差别,可以并作一类,这里做重点介绍。

ui文件最终会被翻译成标准的C++代码,并存入一个.h文件中,这个过程在调用make之后才进行,所以初始情况下你是看不到这个ui_myform.h文件的,只有经过了make过程该头文件才生成。不过没关系,没有这个文件我们照样能写出正确的代码。

单继承方式简单来说就是在代码中首先要自定义一个子类(后文称为MyForm),该类要从form对应的窗体类(或其兼容的子类)派生;并用ui生成的类定义一个类里的成员变量(后文成文myui)。这样在MyForm的构造函数中可以直接调用myui和myui中的变量和函数,使用起来很方便。举例说明, 比如这里有一个ui文件叫myform.ui, ui文件里定义的窗体名字为BigWidget,上面摆放了一个单行编辑控件叫lineeditName:

本博客内容如题:

当创建c++ class文件(同时加入了.h文件)后,

再单独创建同名qt designer form(.ui)后,

即使添加ui对应的头文件(#include "ui_test.h")(这种情况有个特点:添加此ui文件不会有任何输入补全提示)

相应的.cpp文件中总会报错:

曾参照此篇博客 https://blog.csdn.net/rjc_lihui/article/details/88397009

尝试解决,发现并没用。

总之就是里外不是人,谁用谁知道。

解决方法

同时新建.h .cpp .ui三种文件 方法:addNew时选择 Qt-> Qt设计师界面类


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11536313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存