C++ Qt中其他类调用窗口中的ui控件
目录
- 前言
- 方法
- 1 其他类必须继承QWidegt及其派生类
- 2 将主窗口UI公有化
- 3 定义一个静态的Widget指针
- 4 将mywidget指针中的ui指针传给UiOperationDlg.h中我们定义的ui指针
- 测试
前言
在实际工程应用中,利用QT进行界面设计时可能会涉及到多个类,难免会需要在一些类中调用到主窗口类中的某些ui控件,或者访问其类成员变量。
本博客将介绍如何实现这个过程。假定主窗口类为UiOperation,其他类为UiOperationDlg 。
方法
c++中qt项目的创建可见下博文,此处不赘述。
创建:☞QT安装 and VS2019中安装QT插件
初始化:☞QT代码移植到VS中复现
1 其他类必须继承QWidegt及其派生类
一个类如果想要使用ui控件,必须继承QWidegt及其派生类,否则无法调用ui指针。
2 将主窗口UI公有化
将UiOperation.h 中的私有的ui指针公有化
3 定义一个静态的Widget指针
我们需要在UiOperation.h中定义一个公有的静态Widget指针从UiOperation中将ui传入到UiOperationDlg类中,否则即使UiOperationDlg类中载入#include "UiOperation.h"也无法调用ui指针
然后在UiOperation.cpp文件中将指针初始化, 将我们主窗口的this传给mywidget。
4 将mywidget指针中的ui指针传给UiOperationDlg.h中我们定义的ui指针
测试
通过以上四步,就可以实现在UiOperationDlg类中通过ui指针调用ui控件或访问UiOperation类成员变量。
调用UI控件:
访问类成员变量:
------tbc-------
有用请点个
C++ Qt中其他类调用窗口中的ui控件相关推荐
- QT-子线程或自定义类操作访问主界面UI控件的几种方法
前言 QT创建窗体工程,一般在MainWindow或Dialog类里可以直接通过ui指针访问控件,但是添加新的类后又如何访问呢,可以通过以下几种方式: 1.将ui指针公开后直接访问 (1)例如有个自己 ...
- C# 子线程调用主线程窗口中的TextBox控件
使用情景 开发环境:VS 2013 Pro, .Net Framework 4.5 C# 开发窗口程序,需要在开辟的子线程中调用textbox控件,修改显示内容 直接调用会报错,原因是跨线程操作,需要 ...
- Qt中LineEdit、TextEdit 、PlainTextEdit三个控件的区别
Qt中LineEdit.TextEdit.PlainTextEdit这三个控件区别为:输入格式不同.用途不同.限制行数不同. 一.输入格式不同 1.LineEdit:LineEdit的输入格式为单行文 ...
- C# winform中一个类中如何调用另一个窗体的控件或方法
转载地址:http://blog.csdn.net/ichenqingyun/article/details/52622340 一种是创建窗体对象的方式,通过对象调用控件或方法 例如: Form1 f ...
- 关于Qt中QDialog对话框调用exec()函数界面退出造成僵尸程序问题
关于Qt中QDialog对话框调用exec函数产生的问题 问题一: 问题描述: 原因分析: 解决方案: 问题二: 问题描述: 求助:关于这个问题,学识尚浅,求大佬分析一波 问题一: QDialog对话 ...
- QT中Camera相机调用
一:摄像头配置 1.创建摄像头类,获取电脑端的所有摄像头 cameras = QCameraInfo::availableCameras(); //获取所有相机的列表 if (cameras.coun ...
- c#,c++,qt中多线程访问UI控件线程的问题汇总
c#和MFC中可以创建UI控件及模态/非模态对话框,Qt中只能在主UI线程中创建访问UI控件. c#和MFC中可以通过全局变量或指针句柄等方式在工作线程中访问其他UI线程控件,其中c#需要Invoke ...
- 在一个窗体中调用另一个窗体的控件或方法(C#)
在一个窗体中调用另一个窗体的控件或方法 解决方案:从构造函数中传递参数(Form). 1.将Form1中的控件改成public属性 具体实现过程请参看一下代码(在form1的textbox1中输入然后 ...
- Qt 实现自定义Ui控件例子,以自定义的Slider为例(QWidget)
说明 Qt可以比较方便地实现自定义控件在Qt Creator中使用.网上也有很多大神的控件可以使用,但是如果想要自己简单定制也可以按照这个流程. 本文的要点: [1]如何实现一个自定义控件? 本文使用 ...
最新文章
- Qt4在linux下的安装
- 做专才能做强做大——从OA、协同之争说起
- 手把手Tinyxml入门,C++ VS2010
- 【LeetCode从零单排】No.169 Majority Element(hashmap用法)
- 【android】EGL数据结构
- Openstack Swift 原理、架构与 API 介绍
- 韩顺平java作业题_韩顺平java作业
- 源泉设计cad插件下载 | 含源泉cad插件使用教程
- 计算机毕业设计之流浪宠物管理系统
- 关于windows 7 启动 security center
- SAP中部分凭证状态导致的审计序时账和科目余额不平——会计凭证中的注释项目
- 剧本创作时的标准格式,让你的剧本轻松得到制片公司青睐
- 在ThemeForest上销售的利弊
- extjs 中formPanel提交到action后返回json数据到ext中,但是ext页面不进入sucess也不进入failure
- html删除学生数据,对学生信息进行删除网页html代码.doc
- 刷题日记-SQL 查找最晚入职员工的所有信息
- yii2.0域名目录绑定(二级域名)以及url美化 url伪静态 Apache ,Ngnix和 IIS
- HTML5超简单的日期时间控件
- 闲置台式机+文件服务器,牛人闲置电脑大改造!超低成本组建家用黑群晖NAS
- 获取打印机分辨率_为孩子准备的第一台口袋打印机,喵喵机P2S评测