社区
Qt
帖子详情
qt .cpp文件无法调用ui文件里的控件
sinat_16722523
2017-05-17 12:57:50
用qt设计器在face.ui界面添加了一个verticalLayout控件,在face.cpp中,通过ui->控件名的方法调用,调用不出来。求解怎么解决这个问题呢?
imgLabel = new ImgLabel(this);
ui->verticalLayout->addWidget(imgLabel);
...全文
4097
14
打赏
收藏
qt .cpp文件无法调用ui文件里的控件
用qt设计器在face.ui界面添加了一个verticalLayout控件,在face.cpp中,通过ui->控件名的方法调用,调用不出来。求解怎么解决这个问题呢? imgLabel = new ImgLabel(this); ui->verticalLayout->addWidget(imgLabel);
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
为何码
2019-09-05
打赏
举报
回复
这个好恶心,建了三个窗口,就只有一个窗不能这样访问....理解不了
合滨
2019-01-14
打赏
举报
回复
我也遇到相似问题?更改控件的命名、关闭Qt creator还是没有解决?
10: error: no member named 'FilePathLineEdit' in 'Ui::MainWindow'???
Zeroonezeroone
2017-11-17
打赏
举报
回复
引用 9 楼 sinat_16722523 的回复:
已解决,不用在界面上添加该控件,改用代码生成即可
你是怎么解决的呢???我也遇到这样的问题,求赐教
glucose100
2017-09-19
打赏
举报
回复
如果采用自动创建的qt项目的话,应该在.h文件中有ui的声明,在.cpp文件中有setupUi函数.如果没有,或者是临时导入新建的ui文件的话,可能在cpp中就需要通过模块 uitools 来把 ui 文件load 进cpp中,并用相应的声明来绑定到每个元素上面才能使用.
qq_33253798
2017-09-16
打赏
举报
回复
求问怎么用代码解决?
sinat_16722523
2017-05-21
打赏
举报
回复
已解决,不用在界面上添加该控件,改用代码生成即可
sinat_16722523
2017-05-18
打赏
举报
回复
好像都不行啊,错误代码是 error: 'class Ui::Face' has no member named 'verticalLayout'
军神关云长_大凡
2017-05-18
打赏
举报
回复
首先你要确认ui界面上的verticalLayout控件的控件名确实命名为verticalLayout,其实你去ui.cpp所在的类中查看是否确实存在名字叫vverticalLayout的控件,如果都存在,则关闭工程再打开应该是可以调用的,如果不存在,那你得把名字改对才调得了。
大陈1108
2017-05-18
打赏
举报
回复
如果没有写错,可以编译一下ui文件或者打开一下ui文件,经常遇到,这个问题有点恶心
军神关云长_大凡
2017-05-17
打赏
举报
回复
首先把ui界面保存一下,然后把项目工程关闭,再重新打开,如果使用->还是没有提示弹出来,使用查看定义跳过去查看变量;如果还是跳转不过来,就单独打开ui.h类头文件,这个时候应该可以打开了。
Z_墨脱
2017-05-17
打赏
举报
回复
重新构建一下,或者程序重新打开
懒懒的吉他手
2017-05-17
打赏
举报
回复
是无法使用报错还是说只是不会自动提示?
sinat_16722523
2017-05-17
打赏
举报
回复
引用 1 楼 direxe 的回复:
手册查一下,应该有答案
能具体帮我解决一下嘛,查手册挺难找到的
direxe
2017-05-17
打赏
举报
回复
手册查一下,应该有答案
QT
项目
文件
-跨类
调用
控件
QT
项目
文件
-跨类
调用
控件
Qt
中怎么用
Ui
文件
Qt
中怎么用
Ui
文件
第一步, 制作
ui
文件
。 首先应该用
Qt
Designer绘制一个自己的界面,并存为myform.
ui
(这
里
的myform可以用自己喜欢的名字代替)。 在制作自己的界面
文件
时要注意以下几个要点: 1、要记住
ui
文件
的名字,因为
ui
c生成的代码会存在
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
生成的类定义一个类
里
的成员变量(后文成文my
ui
)。这样在MyForm的构造函数中可以直接
调用
my
ui
和my
ui
中的变量和函数,使用起来很方便。 举例说明, 比如这
里
有一个
ui
文件
叫myform.
ui
,
ui
文件
里
定义的窗体名字为BigWidget,上面摆放了一个单行编辑
控件
叫lineeditName: //myform.h #include “
ui
_myform.h” class MyForm: public QWidget { Q_OBJECT public: MyForm(QWidget*parent) { my
ui
.setup
Ui
(this); } private:
Ui
::BigWidget my
ui
; private: void my_function(); }; 上面这段简单的类的声明是前文所述前三点要点的最佳例证,请对照要点的文字描述和具体的代码体会其中的含义。这
里
还有一点比较有意思的地方,就是
ui
文件
提供的类被包含在了名为
Ui
的name space
里
,这样做的目的是将
ui
文件
的命名空间与用户的代码分离,避免两者出现命名冲突的情况。相应的,我们写代码的时候也要注意在使用
ui
文件
中的类时要用“
Ui
::”的方式进行引用。 再来看
cpp
文件
//myform.
cpp
#include #include “myform.h” void my_function(void) { QMessageBox::information(this, “Name”, my
ui
.lineeditName->text()); } 这
里
随便写了一个函数,为了说明如何在窗体类
里
调用
ui
文件
中定义的
控件
。这段代码非常简单,就不多作说明了。 有了单继承的基础,学习多继承是小菜一碟。来段代码看一下就明白了。 //myform.h #include “
ui
_myform.h” class MyForm: public QWidget, public
Ui
::BigWidget { Q_OBJECT public: MyForm(QWidget*parent) { setup
Ui
(this); } private: void my_function(); }; //myform.
cpp
#include #include “myform.h” void my_function(void) { QMessageBox::information(this, “Name”, lineeditName->text()); } 是不是不用说明大家也能明白呢?多继承其实就是不仅从form需要的窗体类去派生,还要加上
ui
提供的类本身。这样带来的好处是你的窗体类继承了
ui
里
的所有
控件
和方法,
调用
时就可以少写一些字。 单继承和多继承这两种方法没有好坏之分,大家可以根据自己的编程习惯取舍。 第四步,编译、验证在pro
文件
包含正确FORMS信息的情况下,运行qmake; make就可以编译工程了。 make时如果你认真看一下输出就会发现,make在最开始编译的时候就会自动
调用
ui
c去生成需要的代码。经过make之后
ui
_myform.h
文件
就生成了,建议大家去看一下这个
文件
的内容。
MFC程序
调用
Qt
(DLL)界面显示
通过使用
Qt
开发框架,生成dLL动态库,供MFC执行程序
调用
。实现MFC
调用
Qt
界面显示。
Qt
建立主窗口界面控制按钮
调用
两个独立
ui
界面
对新手学习
Qt
来说,建立主窗口界面,但是控制按钮
调用
两个独立
ui
界面出现很多的错误。本资源为源码,可以通过点击按钮不断切
调用
两个不同
ui
界面来显示到主窗口界面
《
Qt
5.9 C++开始指南》2.1节
UI
文件
设计与运行机制 实例程序
通过一个主窗口继承于QWidget的简单应用程序,介绍了
Qt
项目
文件
的组成、各
文件
的作用,分析了
Qt
Designer设计的
UI
文件
的结构,以及
Qt
如何根据可视化设计的
UI
文件
创建界面。
Qt
21,441
社区成员
26,688
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章