易妖游戏网
您的当前位置:首页QT:三大基类介绍&对象树&坐标系

QT:三大基类介绍&对象树&坐标系

来源:易妖游戏网
  • Base class:用QtCreater创建项目,会自动生成一些代码(代码内容是一个类),此处要选择这个自动生成的类的父类是谁
    QWidget:表示一个控件,窗口上一个具体的元素,输入框、按钮、下拉框
    QMainWindow:完整的应用程序窗口,菜单栏、工具栏、状态栏
    QDialog:表示一个对话框
  • Form file:通过form file文件,以图形化的方式来生成界面
  • Kit:选择基于哪个编译器的Qt SDK来构建后续代码

Qt文件介绍

main.cpp文件介绍

  • QApplication a;
    编写一个Qt的图形画界面程序,一定要有该类对象
  • Widget w;
    在创建项目时,生成的Widget类,父类是QWidget,用来创建一个控件对象
  • exec;
    执行程序

Widget.h文件

Widget.cpp文件

  • 点击ui文件,Qt Creator调用Qt Designer,打开ui文件(一个图形化的界面编辑器)
  • 本质是一个xml文件(与html相似,都是使用标签来表示数据)
    Qt中xml文件用来描述程序界面的样子,qmake会调用相关的工具,依据这个xml文件生成C++代码

pro文件:Qt项目的工程文件,是qmake自动生成的,类似makefile文件

按钮

按钮的构造函数


调整按钮位置

按钮一般用new实例化一个button对象,直接从堆区申请空间,程序结束或者人为手动释放则可释放,这样设置可以让父对象释放它,因为button要显示在主窗口中,需要button放在子对象列表中。

创建按钮

方式1:

  • QPushButton* button=new QPushButton
    buttoc->show()会新开辟一个窗口
  • 此时需要设置按钮父对象是窗口
    button->setParent(this)

方式2:

  • QPushButton* button=new QPushButton(“按钮名”,this)

按钮属性设置

  • button->setText(“按钮名字”)
  • 设置按钮位置
    button->move(x,y)
    窗口中,以左上角为原点(0,0),X轴向右增加,Y轴向下增加
  • 设置按钮大小
    button->setFixedSize(x,y)

对象树

A控件中,嵌入了B控件,会生成一个树形关系,A就是一个父节点,B对象是一个子节点
对象被组织起来后,A控件被销毁后,该控件内的所有对象都会被销毁

最好不要在栈上创建组件
1定义的控件随着函数的结束而销毁,只是瞬间存在一下
2可能两次析构窗口中的组件(先创建组件,再创建窗口就会出错)

坐标系

Qt中,屏幕最左上角是原点(0,0)
x轴正方向水平向右
y轴正方向水平向下

B控件坐标系的原点是A控件的左上角

因篇幅问题不能全部显示,请点此查看更多更全内容