Qwidget窗口部件 作为顶层窗口
QWidget *win = new QWidget;
win->setWindowTitle("Enter Your Age");
Qslider 和 QSpinBox 作为Qwidget的子对象
QObject::connect(spinBox,SIGNAL(valueChanged(int)),
slider,SLOT(setValue(int)));
QObject::connect(slider,SIGNAL(valueChanged(int)),
spinBox,SLOT(setValue(int)));
//调用两次确保两个窗口部件值保持一致
//valueChange(int)->setValue(int)值传递时单项的
layout manager 布局管理器
能够对其所负责窗口部件的尺寸大小和位置进行设置的对象
QHBoxLayout 在水平方向排列窗口部件,从左到右
QVBoxLayout 在竖直方向上排列窗口部件,从上到下
QGridLayout 吧各个窗口部件排列在一个网格中
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(spinBox);
layout->addWidget(slider);
win->setLayout(layout);//窗口控件的布局管理
findChild<T>()函数
返回与给定的名字和类型相匹配的的子对象
QUiLoader类要使用在应用程序的.pro文件中加入CONFIG +=uitools;
Qwidget窗口部件 作为顶层窗口
Qslider 和 QSpinBox 作为Qwidget的子对象
QObject::connect(spinBox,SIGNAL(valueChanged(int)),
slider,SLOT(setValue(int)));
QObject::connect(slider,SIGNAL(valueChanged(int)),
spinBox,SLOT(setValue(int)));
signals:
void findNExt(const QString &str,Qt::CaseSensitivity cs);
void findPrevious(const QString &str,Qt::CaseSensitivity cs);
signal 申明了用户单击按钮时对话框所发射的两个信号。如果向前查询(search backward)选项生效,对话框就发射findPrevious()信号,否则就发射findNext()信号
signals 是一个宏,Qt::CaseSensitivity是枚举类型,它有Qt::CaseSensitive和Qt::CaseInsensitive两个取值
private slots:
void findClicked();
void enableFindButton(const QString &text);
slots 也是一个宏,
tr()函数调用是把他们翻译成其他语言的标记。
确定取消按钮中确定按钮
buttonBox->button(QDialogButtonBox::Ok)
滚动条机制在QAbstractScrollArea中实现的,它是所有可滚动窗口部件的基类
QLabel文本显示普通文本、HTML和图片
Progress Bar进度条
QTextBrowser是一个只读型QTextEdit子类,它可以显示带格式的文本。
QLineEdit可以使用一个输入掩码、一个检验器或者同时使用两者对他的输入进行限定
QColorDialog 颜色对话框
QFontDialog 字体对话框 QFontComboBox内置字体
QPageSetupDialog 页面属性对话框
QFileDialog 文件对话框
QPrintDialog 打印对话框
Q_OBJECT //使用到信号和槽或国际翻译的时候
resize(200,200) 窗口重置大小
#include <QPainter>//画图
#include <QPoint>//点
QPainter paint(this);
paint.translate(100,100);//移动原点坐标
paint.setRenderHint(QPainter::Antialiasing);//反锯齿,图形变平滑
paint.setPen(Qt::red);//画笔
paint.setBrush(Qt::red);//画刷
paint.drawConvexPolygon(sed,4);、//绘制四边形
paint.rotate(30); //坐标顺时针旋转
图形视图框架The QGraphics View Framework 包含三大类:
QGraphicsItem项类(图元类)
绘制你所要用到的图形
QGraphicsScene 场景类
包含并管理所有的图元
QGrapicsView 视图类
显示所有的场景
QPushButton *button = new QPushButton("Quit"); //qpushbutton 按钮类
QObject::connect(button,SIGNAL(clicked()),&a,SLOT(quit()));
//将button的clicked信号(SIGNAL(Qt语法)(clicked()))与quit()槽(窗口类的SLOT(Qt语法)(quit())事件)关联起来使用了Qobject的connect函数
button->show();//按钮显示
创建的时候不需要选择ui文件,系统头文件选择QWidget
判断托盘中是否有该图标:
QSystemTrayicon::isSystemTrayAvailable()
添加系统托盘:
create()
setContextMenu()
show();
//响应消息
showMessage()
//判断响应事件,单击、双击、右键
activated()
内省:对于实现信号和槽是必需的,
检验器类QRegExpValidator
QregExp regExp("[A-Za-z][1-9]{0,2}")
允许一个大写或者小写字母,后面跟着一个范围为1-9的数字,后面再跟上0-2个0-9的数字
父子对象机制:当利用一个父对象创建一个子对象时,父对象会把子对象添加到自己的子对象列表中,当父对象被删除时,它会遍历子对象列表并删除每一个子对象,然后这些子对象再去删除自己所包含的每个子对象。