码迷,mamicode.com
首页 > 其他好文 > 详细

Qt--Qt的简单介绍以及坐标系统

时间:2019-08-07 16:10:48      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:构建   图形界面   ui组件   mamicode   对象   info   小结   --   帮助   

一.Qt Creator工程介绍

Qt Creator以工程项目的方式对源码进行管理
A.一个Qt Creator工程包含不同类型的文件
.pro项目描述文件
.pro.user用户配置文件
.h头文件
.cpp源文件
.ui界面描述文件
资源文件-图片、音频等
B.pro项目描述文件的基本构成
技术图片
C.pro项目描述文件中的高级变量
技术图片
D.CONFIG用于设定项目的配置信息和编译选项
CONFIG的常用选项
1.debug-构建debug版本的可执行程序
2.release--构建release版本的可执行程序
3.debug_and_release--一同构建debug版和release版
4.warn_on--尽可能多的输出警告信息
5.warn_off-不能输出警告信息
.pro文件的本质为Qt中的Makefile文件
技术图片
.pro项目文件分析

QT += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = HelloWorld
TEMPLATE = app

INCLUDEPATH += E:/BCC/include                E:/VC/include

SOURCES += Main.cpp            HelloWorld.cpp

HEADERS += HelloWorld.h

FORMS   += HelloWorld.ui

RC_FILE += MyIco.rc

LIBS    += -LE:/vlc-1.11/sdk/lib

CONFIG  += warn_on debug

#
# if ‘debug‘ option is set for CONFIG
#
CONFIG(debug) {
    DEFINES += DEBUG_LOG
    SOURCES += DebugLog.cpp
    HEADERS += DebugLog.h
}

一般来说,项目文件中的描述都使用相对路劲,而相对路径时相对于项目文件本身而言的,Qt Creator将项目文件作为目标
注意:1.Qt Creator在打开项目文件的同时会生成.pro.user文件
2..pro.user文件包含一些与Qt相关的本地配置信息
3.当需要在不同计算机之间移动项目源码时,建议删除.pro.user文件

E.工程中的概念
构建--对项目的所有文件进行编译,最终生成可执行文件
debug--可以进行程序调式的构建版本,可执行程序中包含调试信息,运行效率不高
release版--最终发布的应用程序构建版本,无调试信息,运行效率高
小结
1.Qt Creator以工程项目的方式对源码进行管理
2.一个Qt Creator工程包含不同类型的文件
3..pro文件是Qt中与平台无关的Makefile文件
4.Qt Creator提供了开发所必备的快捷高效的功能

二.窗口组件及窗口类型

1.图形用户界面由不同的窗口和窗口组件构成
2.<QtGui>头文件包含窗口组件,对应Qt的GUI模块
3.Qt以组件对象的方式构建图形用户界面
4.组件的类型--a.容器类(父组件):用于包含其它的界面组件; b功能类(子组件):用于实现特定的交互功能
技术图片
A.QWidget类继承自QObject类和QPainDevice类
1.QObject是所有支持Qt对象模型的基类
2.QPainDevice是所有可绘制组件的基类
技术图片
B.QWidget组件
1.QWidget能够绘制自己和处理用户的输入
2.QWidget是Qt中所有窗口组件类的父亲
3.QWidget是所有窗口组件的抽象
4.Qt中的每一个窗口组件都是一个QWidget
5.QWidget类对象常作为父组件或顶级组件使用
C.QLabel组件
1.QLabel用于显示一个提示性的字符串
2.QLabel是功能性组件,一般需要父组件作为容器
3.QLabel可以作为窗口存在,但没什么意义
QWidget组件和QLabel组件代码示例

#include "Widget.h"
#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    QLabel la(&w);

    w.setWindowTitle("dandanxiaohai");
    la.setText("mylove");
    w.show();

    return a.exec();
}

运行结果
技术图片
D.Q中可以根据需要定制窗口式样
1.窗口类型--Qt::Dialog-对话框类型 ,Qt::window-主窗口类型,Qt::SplashScreen-启动画面类型,其它的类型可以在Qt帮助文档中进行查找
2.窗口标志
Qt::WindowStaysOnTopHint ,Qt::WindowContextHelpButtonHint等
小结
1.Qt以组件对象的方式构建图形用户界面
2.QWidget类是所有用户界面组件的父类
3.QWidget类对象常作为父组件或顶级组件使用
4.Qt中可以根据需要定制窗口式样
5.QLabel用于显示一个提示性的字符串

三.Qt中的坐标系统

A.坐标系统
1.GUI操作系统都有特定的坐标系统
2.图形界面程序在坐标系统中进行窗口和部件的定位
3.定位类型--顶级窗口部件定位、窗口内部件的定位、窗口部件大小设置
B.Qt坐标系统
1.Qt使用统一的坐标系统定位窗口部件的位置和大小
2.Qt部件类提供成员函数在坐标系统中进行定位
3.QWidget类提供了窗口部件所需的坐标系统成员函数
技术图片
QWidget类中的坐标系统成员函数
技术图片
编程实验,代码示例

#include "Mainwindow.h"
#include <QApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;//顶级组件
    w.resize(300,200);//设置的大小
    w.move(120,120);//设置的生成坐标位置
    w.show();

    qDebug()<<"QWidget:";
    qDebug()<<w.x();
    qDebug()<<w.y();
    qDebug()<<w.height();
    qDebug()<<w.width();

    qDebug()<<"QWidget::geometry()";
    qDebug()<<w.geometry().x();
    qDebug()<<w.geometry().y();
    qDebug()<<w.geometry().height();
    qDebug()<<w.geometry().width();

    qDebug()<<"QWidget::frameGeometry()";
    qDebug()<<w.frameGeometry().x();
    qDebug()<<w.frameGeometry().y();
    qDebug()<<w.frameGeometry().height();
    qDebug()<<w.frameGeometry().width();

    return a.exec();
}

打印结果--在窗口显示之后才会有坐标数据(须在show()调用之后),该打印结果与之前图所示相符合
技术图片

C.QPushButton组件
1.QPushButton用于接受用户点击事件
2.QPushButton能够显示提示性字符串
3.QPushButton是功能性组件,需要父类组件作为容器
4.QPushButton能够在父类组件中进行定位
技术图片
小结
1.Qt中的几何坐标以左上角为原定--水平为x轴,从左向右为正向;垂直为y轴。从上到下为正向
2.Qt中的GUI组件以左上角进行定位
3.Qt中的GUI组件可以在坐标系统中进行大小设置

Qt--Qt的简单介绍以及坐标系统

标签:构建   图形界面   ui组件   mamicode   对象   info   小结   --   帮助   

原文地址:https://blog.51cto.com/13475106/2427402

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!