qt入门
label
#include <QApplication>
#include <QLocale>
int main(){
//创建一个类QApplication,用来管理整个应用程序
QApplication a(argc, argv);
//创建一个lable对象(窗口部件)
QLabel *lable = new QLabel("<h2><i>hellow<i> <font collor=red>Qt!</font></h2>");
//行使QLabel标签可见
lable->show();
//系统进入事件循环状态等待下一步处理(鼠标点击与键盘输入等)
return a.exec();
}
建立连接
#include <QApplication>
#include <QPushButton>
int main(){
//创建一个类QApplication,用来管理整个应用程序
QApplication a(argc, argv);
//创建一个button对象
QPushButton *button = new QPushButton("quit");
/*qt的窗口发射一个信号来表明一个用户的动作已经发生了变化或者一个状态已经改变
这里当用户点击button时候,会发射一个clicked的信号,信号可以与函数链接,
以便在发射信号的时候函数可以自动执行
这里我们的信号clicked与QApplication和quit()链接在一起*/
QObject::connect(button,SIGNAL(clicked()),&a,SLOT(quit()));
button->show();
return a.exec();
}
窗口的布局
image.png这个界面由三个窗口部件组成分别是:QSpingBox,QSpinBOX,QWidget组成
QSpingBox,QSpinBOX会显示在QWidget之中。所以QWidget是父类
#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
#include <QLabel>
int main(){
//创建一个类QApplication,用来管理整个应用程序
QApplication a(argc, argv);
//创建一个QWidget对象(为主窗口)窗口名称为enter your age
QWidget *window = new QWidget;
window->setWindowTitle("enter your age");
//创建一个QSpinBox
QSpinBox *spinBox = new QSpinBox;
//设定范围为0到130
spinBox ->setRange(0,130);
//创建一个QSlider
QSlider *slider = new QSlider;
//设定范围为0到130
slider ->setRange(0,130);
//调用两次QObject用来保证让微调框和滑块同步一旦一个发生变化另一个就会同步
QObject::connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));
QObject::connect(slider,SIGNAL(valueChanged(int)),spinBox,SLOT(setValue(int)));
//初始化微调框的值为35
spinBox -> setValue(35);
//初始化一个布局管理器QHBoxLayout,布局管理器的作用就是对负责窗口的尺寸大小进行设置
QHBoxLayout *layout = new QHBoxLayout;
layout -> addWidget(spinBox);
layout -> addWidget(slider);
//setLayout将窗口布局传递给了window,也就是将spinBox、slider重定义了父类按照这样的布局称为了window的子对象
window -> setLayout(layout);
window -> show();
return a.exec();
}
布局管理器主要有三个函数
QHBoxLayout:水平方向上排列窗口部件,从左向右
QVBoxLayout:是指方向上排列窗口部件,从上到下
QGridLayout:把各个窗口部件排列在一个网络中
网友评论