ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Qt Creator 窗口部件

2019-09-13 16:02:26  阅读:264  来源: 互联网

标签:widget 窗口 Qt Creator int 部件 QWidget include


1、基础窗口部件 QWidget

QWidget 类是所有用户界面对象的基类,被称为基础窗口部件。QWidget 继承自 QObject 类和 QPaintDevice 类,其中QObject类是所有支持Qt 对象模型的基类,QPaintDevice 类是所有可以绘制的对象的基类。

1.1 窗口、子部件和窗口类型

窗口部件(Widget),是 Qt 中建立用户界面的主要元素。像主窗口 、 对话框、标签 、按钮、文本输入框等都是窗口部件。 这些部件可以接收用户输入 ,显示数据和状态信息,并且在屏幕上绘制自己。Qt 中把没有嵌入到其他部件中的部件称为窗口,一般窗口都有边框和标题栏 ,就像程序中的 widget 和 label 一样。窗口就是没有父部件的部件,与其相对的是非窗口部件,又称为子部件。 在 Qt 中大部 分部件用作子部件, 嵌入在别的窗口中。QWidget 提供了绘制自己和处理用户输入事件的基本功能,Qt 提供的所有界面元 素不是QWidget 的子类就是与 QWidget 的子类相关联。 要设计自己的窗口部件 ,可以继承自 QWidget 或者是它的子类等。
Widget 的构造函数有两个参数 : “QWidget * parent = 0” 和 “Qt:Wi ndowFlags f = 0”,前面的 parent 就是指父窗口部件 ,默认值为0,表明没有父窗口;而后面的 f 参数是 Qt: : WindowFlags 类型的 ,是 个枚举类型,分为窗口类型 (WindowType) 和窗口标志(WindowFlags) 。 前一 者可以定义窗口的类型, 比如 f = 0 表明使用了 Qt::Widget ,这是 QWidget 的默认类型 ,这种类型的部件如果有父窗口,那么它就是子部件 , 否则就是独立的窗口 。

2 程序调试

1、设置断点

#include "mainwindow.h"
#include <QtGui>
# include <QApplication>
# include <QWidget>
int main(int argc, char * argv[])
{
QApplication a(argc, argv);
QWidget widget;
int x = widget. x();
int y = widget. y() ;
QRect geometry= widget. geometry();
QRect frame = widget.frameGeometry();
return a.exec() ;
}

在"int x= widget. x();"一行代码的标号前面单击来设置断点。 只要在那个断点上再单击一下就可以取消断点了。 设置好断点后便可以按下左下角的调试按钮开始调试。 这时程序先进行构建再进入调试模式,这个过程可能需要一些时间 。

2、使用 qDebog() 函数

程序调试过程中很常用的是qDebug()函数,它可以将调试信息直接输出到控制台。

#include "mainwindow.h"
# include <QApplication>
# include <QWidget>
# include <QDebug>
int main(int argc, char * argv[])
{
QApplication a(argc, argv);
QWidget widget;
widget.resize(400, 300); //设置窗口大小
widget.move(200, 100); //设置窗口位置
widget.show();
int x = widget.x();
qDebug("x, %d", x); //输出x的值
int y= widget.y() ;
qDebug("y, %d",y);
QRect geometry= widget.geometry();
QRect frame = widget.frameGeometry();
qDebug() << "geometry, " << geometry << "frame, " << frame;
return a.exec();
}

要使用 qDebug() 函数,就要添加 #include < QDebug >头文件。 有两种输出方法, 一种是直接将字符串当作参数传给qDebug() 函数,一种方法是使用输出流的方式一次输出多个值,它们的类型可以输出 x 和 y 的值。
如果只使用第二种方法,那么是不需要添加< QDebug>头文件的;而第二种方法就必须添加这个头文件。 第一种方法很麻烦,所以经常使用的是第二种方法。

标签:widget,窗口,Qt,Creator,int,部件,QWidget,include
来源: https://blog.csdn.net/wbxshi/article/details/100800945

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有