Qt窗口部件及子部件
QWidget类是所有用户界面对象的基类,被称为基础窗口部件。
#include <QApplication>
#include<QLabel>
#include<QWidget>
int main(int argc, char *argv[])
{
QApplication a(argc, argv); // 新建QWidget类对象,默认parent参数是0,所以它是个窗口
QWidget *widget = new QWidget(); // 设置窗口标题
widget->setWindowTitle(QObject::tr("我是widget")); // 新建QLabel对象,默认parent参数是0,所以它是个窗口
QLabel *label = new QLabel(); label->setWindowTitle(QObject::tr("我是label")); // 设置要显示的信息
label->setText(QObject::tr("label:我是个窗口")); // 改变部件大小,以便能显示出完整的内容
label->resize(180, 20); // label2指定了父窗口为widget,所以不是窗口
QLabel *label2 = new QLabel(widget); label2->setText(QObject::tr("label2:我不是独立窗口,只是widget的子部件")); label2->resize(250, 20); // 在屏幕上显示出来
label->show();
widget->show(); return a.exec();
}
1. Qt中把没有嵌入到其他部件中的部件称为窗口,一般窗口都有边框和标题栏,就像程序中的widget和label一样。窗口就是没有父部件的部件,所有又称为顶级部件.与其相对的是非窗口部件,又称为子部件.
2.针对于以上这种简单的说法有弊端,如:QDialog为窗口是毋庸置疑的吧,但是在使用对话框时为其指定父窗口也是在正常不过了;
3.本人所看书上最后还有两句代码delete label; delete widget;,但是添上这两句后运行结果会在后台显示,不会出现在桌面上;
4.程序中程序中label没有父窗口,而label2在widget中,widget是其父窗口。程序中使用new为label2分配了空间,但是并没有使用delete进行释放,这是因为在Qt中销毁父对象的时候会自动销毁子对象。
Qt窗口部件及子部件的更多相关文章
- Qt入门(14)——父窗口部件和子窗口部件
这个例子演示了如何创建一个父窗口部件和子窗口部件.我们下面使用一个单一的父窗口部件和一个独立的子窗口部件编写界面. #include <qvbox.h>我们添加了一个头文件qvbox ...
- 如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置
用Qt Creator 设计程序时,最方便的就是ui设计器,可以很容易的得到想要的布局. 但是这样自动布局带来的后果是很难知道窗口中某一部件在主窗口中的相对位置. 在处理子窗口鼠标事件时变的很麻烦.主 ...
- 自定义QT窗口部件外观之QStyle
自定义QT窗口部件外观 重新定义Qt内置窗口部件的外观常用的方法有两种:一是通过子类化QStyle 类或者预定义的一个样式,例如QWindowStyle,来定制应用程序的观感:二是使用Qt样式表. Q ...
- PyQt(Python+Qt)学习随笔:怎么在QScrollArea滚动区域中展示子部件的超长内容?
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 滚动区域可以针对部署在其上的子部件在不可见时进行滚动展示,但这种滚动展示仅只能展示内容层可见范围的子 ...
- 第15.36节 PyQt(Python+Qt)入门学习:containers容器类部件QFrame框架部件介绍
一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有如下: 容器中的Frame为一个矩形的框架对象,对应类QFrame,QFrame类是PyQt中带框架 ...
- NX二次开发-遍历当前part所有component,把装配子部件设置成工作部件
NX11+VS2013 #include <uf.h> #include <uf_disp.h> #include <uf_modl.h> #include < ...
- Vue.js中传值给子部件及触发动作的问题
最近研究一个用vue.js做的程序并修改增加功能.其中用到传值给子部件等问题. template中有个子部件: <template> ...... <child-form v-if ...
- 调色板类QPalette——包含了Qt窗口不见的颜色组(collor group),和Windows右键属性外观非常类似
QPalette类包含了Qt窗口不见的颜色组(collor group); 1.Active组,该组的颜色用户当前活动的(active)窗口,即具有键盘或鼠标焦点的窗口; 2.Inactive组,该组 ...
- Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)
Qt窗口中的一些小技术总结 //Qt主窗口没有最小化,最大化按钮且最大化显示 int main(int argc, char *argv[]) { QApplication a(argc, argv ...
随机推荐
- 关于HTML中浮动与清除的思考
布局时需要利用浮动(float)的属性,同时我们需要一个清除浮动(clear)与之配合才能达到预期的目标. w3s上关于float和clear的定义分别为:float:float 属性定义元素在哪个方 ...
- Table of Contents - jBPM
Getting Started jBPM Installer Eclipse 安装 jBPM 插件 jBPM Core
- Python(2.7.6) 标准日志模块的简单示例
Python 标准库中的 logging 模块提供了一套标准的 API 来处理日志信息的打印. import logging logging.basicConfig( level = logging. ...
- 转:实体ToolTip显示XData
首先要说明,实现方式不是我的原创,其中ToolTip的实现转自这里,然后XData的设置和获取来自Kean的博客,当然我自己也做了点研究,在这里,然后把这两个技术结合起来就是你将要看到的东西. 先上效 ...
- 根据不同的分辨率选择不同的css文件
<SCRIPT language=javascript> <!-- Begin if (screen.width == 640) { document.write('<link ...
- .net导出Word的一种方法
由于ActiveX控件只支持IE(好像FF可以通过安装插件支持),所以js导出word的方式就比较局限 可是如果当页面经过js修改以后,.net是无法获取到的,所以要通过js获取到最新的html并传给 ...
- 六、Android学习笔记_JNI_c调用java代码
1.编写native方法(java2c)和非native方法(c2java): package com.example.provider; public class CallbackJava { // ...
- Android常用系统广播
关于Intent的使用,可参阅前章:http://www.cnblogs.com/caidupingblogs/p/5101669.html //关闭或打开飞行模式时的广播 Intent.ACTION ...
- arraylist寻址
首先感谢小不点儿同学提供的思路. 问题背景:把manage.aspx中的gridview列出的所有ID值传入下一个页面(放入arraylist,并通过session传递arraylist). 点击ID ...
- mysql插入表中的中文显示为乱码或问号的解决方法
版权声明:本文为博主原创文章,未经博主允许不得转载. 今天在做ssh的博客项目时发现mysql数据库中的中文显示为问号,网上查阅了很多资料,都不是很全,所以我总结一下,供大家参考和自己复习. 1.我的 ...