02 使用代码实现子界面向父界面覆盖
来源:互联网 发布:书生商友软件下载 编辑:程序博客网 时间:2024/06/05 00:21
由于工程中涉及频繁的界面缩放和多语言支持,因此界面要使用代码实现,代码参考上一章中系统创建代码。
新建一个 QT命令行工程,完成后修改pro文件
QT += core gui //删除命令行参数,添加core和guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgets // 意味不明CONFIG += c++11 //其余不用修改TARGET = test_in_codeTEMPLATE = appSOURCES += main.cpp \base.cppHEADERS += \base.h
修改main函数
#include <QApplication>#include "base.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); base w; w.show(); return a.exec();}
新增base.h ,此处直接把两个界面放在一个文件内方便对比
#include <QObject>#include <QWidget>#include <QLabel>class child : public QWidget //子父界面都继承自QWidget{ Q_OBJECTpublic: explicit child(QWidget *parent = 0);//留下父窗口指针 ~child();private: QLabel* alabel;};class base:public QWidget{ Q_OBJECTpublic: explicit base(QWidget *parent = 0); ~base(); child* p_child; // 定义子窗口指针};
base.cpp
#include "base.h"child::child(QWidget *parent) : QWidget(parent){ alabel = new QLabel(this); alabel->setText("find object"); alabel->move(30,30); this->resize(200,100);}child::~child(){}base::base(QWidget *parent) : QWidget(parent){ p_child = new child(this); p_child->show(); this->setWindowTitle("我才是主界面"); p_child->resize(400,300); this->show();}base::~base(){}
执行结果
总结
- 子界面要向父界面覆盖需要留下QWidget* parent 参数已保留子窗口创建位置。
- 子窗口最好写入一个QWidget内方便后边槽连接。
- 子窗体自身show与不show其实是父窗口控制。
阅读全文
0 0
- 02 使用代码实现子界面向父界面覆盖
- 01 QT子界面向父界面覆盖
- Android-使用java代码实现界面
- 界面显示代码实现
- 界面代码使用总结
- 实现js界面向原生界面发消息,并跳转
- UI选中界面代码实现
- 聊天界面关键代码实现
- IOS 纯代码实现界面
- J2ME中使用TextField实现表单界面代码实战
- 纯代码实现QQ聊天界面---TableView使用详解
- 使用代码创建UI界面
- wpf:子线程下向主界面写信息
- 覆盖系统通话界面
- 使用Storyboard实现复杂界面
- 使用Storyboard实现复杂界面
- 使用HorizontalScrollView实现瑞士军刀界面
- 使用ListView实现聊天界面
- FLV-音频Tag
- Java多线程学习之生产者消费者问题(一)
- 剑指offer | 训练题47:不用加减乘除做加法
- linux 命令行使用hanlp
- 深度学习——如何运行在移动设备上
- 02 使用代码实现子界面向父界面覆盖
- c++类和对象以及成员函数的总结
- (11)函数及函数重载
- Scala文件I/O
- C语言实现裴波纳契算法
- FLV-视频Tag
- 【Java基础之数据库】代码库(五)
- css的几种样式
- 51 nod 1717 好数