01 核心机制
Qt的核心机制1.元对象系统 Qt的元对象系统是Qt框架的一个核心组成部分,它提供了一种在运行时实现反射(reflection)功能的机制 使得Qt能够实现一些高级的特性:比如信号与槽(Signals and...
04 控件 QLineEdit
QLineEdit类QLineEdit是单行输入框,它直接继承自QWidget 1.构造函数12QLineEdit(QWidget *parent = Q_NULLPTR)QLineEdit(const QString &contents, QWidget *parent = Q_NULLPTR) 2.常用属性QLineEdit的属性包括以下这些: 冷知识:Qt中的属性是Qt中独创的一个新特性,每一个属性都可以进行读写,即每个属性都有个叫setXXX()的函数可以设置该属性的值。 2.1重要的属性说明 属性 含义 text 保存输入框中的文本。该属性的值可以通过 text() 方法获取,也可以通过 setText(const QString &) 方法修改。 maxLength 设置输入框中最多可以放置的文本长度。当文本长度超出最大限度后,超出部分将被丢弃。默认情况下,maxLength 的值为 32767。该属性的值可以通过 maxLength() 函数获得,也可以通过 setMaxLength(int)...
05 控件 QTextEdit
QTextEdit 这一个笔记做的是依托答辩,我感觉这个控件也不常用,等用到了再仔细看看吧 QTextEdit是一个先进的所见即所得的 富文本 查看器/编辑器,支持使用 html 风格的标签或Markdown格式的富文本格式化。它经过优化,可以处理大型文档,并快速响应用户输入。 1.富文本阅读器1.1用法QTextEdit可以显示一个大的HTML子集,包括表格和图像。 1.可以使用 setHtml() 设置或替换文本,它会删除任何现有的文本,并用调用 setHtml() 时传递的文本替换它。如果用旧HTML调用 setHtml() ,然后调用 toHtml() ,返回的文本可能有不同的标记,但渲染的是相同的。可以使用 clear() 删除整个文本。 2.文本也可以使用 setMarkdown()来设置或替换,同样的注意事项也适用:如果你调用了...
06 控件 各种按键
Qt中的各种按键1. 按钮基类 QAbstractButton 在QT中为我们提供了可以直接使用的按钮控件, 如下图。这些按钮种类虽然繁多, 但是它们都拥有相同的父类 QAbstractButton。这些子类按钮的大部分属性都是从这个基类继承的,因此搞明白这个类为我们提供的相关功能还是非常重要的。 这些按键的继承关系如下: 下面介绍一下按键基类QAbstractButton类的常用API: 1.1按键的文字和图标1234567891011121314// 参数text的内容显示到按钮上void QAbstractButton::setText(const QString &text);// 得到按钮上显示的文本内容, 函数的返回就是QString QAbstractButton::text() const;// 得到按钮设置的图标QIcon icon() const;// 给按钮设置图标void setIcon(const QIcon &icon);// 得到按钮图标大小QSize iconSize() const//...
06 QButtonGroup
QButtonGroup1.用法介绍QButtonGroup是一个很有用的容器,可以把若干按键(哪种都行)放到一个容器中,有以下几点好处: 逻辑分组:QButtonGroup允许你将相关联的按钮逻辑上分组在一起。这对于处理一组RatioButton或QCheckBox很有用,可以将他们设置成互斥之类的 方便管理:通过将按钮添加到QButtonGroup中,你可以方便地对这些按钮进行统一管理。例如,你可以轻松地获取选中的按钮、设置默认选中按钮、禁用/启用整个按钮组等操作 信号传递:QButtonGroup提供了信号来通知按钮的状态变化,例如当选中的按钮发生变化时,QButtonGroup会发出buttonClicked()信号,在槽函数中,可以获得到底是哪个按键被按下了,这样的话,若干个按键就写一个槽函数就行了,不必每个按键都写个槽函数。 12345void CChartTest::on_otherGroup_buttonClicked(QAbstractButton *button){ // 拿到发送信号的复选按钮 QCheckBox...
07 控件 ComboBox
QComboBox QComboBox下拉列表框是一个组合控件(包含一个文本显示控件和一个按钮)。它默认显示最小的控件给用户来操作,并且可以用下拉选择的界面提供给用户更多的预置选项。 它是直接继承自QWidget。 1.基本操作QComboBox的主要功能主要包括以下几点: 1.1添加项下拉框的内容有两种增加方式:追加和指定位置添加。 12m_combox->addItem("星期四"); //追加项目m_combox->insertItem(2,"星期五"); //指定位置添加项目 还有一种增加的方法:批量增加。用一个可迭代的数据就可以 12345QList<QString> com_list;com_list.append("星期一"); com_list.append("星期二"); com_list.append("星期三");m_combox->addItems(com_list); ...
08 控件 各种输入控件
Qt中的各种输入控件1.QSpinBox功能作用:处理整数以及离散数据。 可以通过步长调节器按钮控制也可以通过文本框输入 可以给数字加前后缀 2.QDial 3.QScrollBar 4.QSlider
09 QWidget
QWidget类QWidget类是所有控件、对话框、窗口类的父类, 并且QWidget类的父类的QObject, 也就意味着所有的窗口类对象只要指定了父对象, 都可以实现==内存资源的自动回收==。 1.1设置父对象123456789// 构造函数QWidget::QWidget(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());// 公共成员函数// 给当前窗口设置父对象void QWidget::setParent(QWidget *parent);void QWidget::setParent(QWidget *parent, Qt::WindowFlags f);// 获取当前窗口的父对象, 没有父对象返回 nullptrQWidget *QWidget::parentWidget() const; 1.2设置窗口位置123456789101112//------------- 窗口位置 -------------//...
10 对话框
Qt中的对话框 QDialog是对话框的基类,且它继承于QWidget,并有自己的一些特性。 1.常用API123456789101112131415161718// 构造函数//构造函数第二个形参为窗口标志,默认为 `Qt::Dialog = 0x0000 0002 | Qt::Window`。//只要该标志位包含`Qt::Window`,则该对象是一个窗口,窗口就是一种顶层的部件。QDialog::QDialog(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());// 模态显示窗口[virtual slot] int QDialog::exec();// 隐藏模态窗口, 并且解除模态窗口的阻塞, 将 exec() 的返回值设置为 QDialog::Accepted[virtual slot] void QDialog::accept();// 隐藏模态窗口, 并且解除模态窗口的阻塞, 将 exec() 的返回值设置为 QDialog::Rejected[virtual slot]...
13 绘图
Qt的绘图系统Qt中的绘图和之前使用OpenCV时在图中进行绘图的方式差别还是很大的,在用OpenCV时,一般都是主动调用绘图函数就行了,但是在Qt中,如果要在控件上绘制东西,一般都得是在其绘图事件中进行绘制,并不能主动调用绘图函数。 Qt中针对不同的控件,绘图的方式区别很大 这些控件主要分为2类 继承自QWidget的控件:重写paintEvent,在此函数里面用QPainter进行绘图 Graphics View相关的控件:此类控件不会触发paintEvent,需要调用函数往场景中插入元素来显示 Qt的绘图系统主要包括2部分 QPainter绘图系统:绘制基本的点、线等形状组成自己需要的图形,得到的图形是不可交互操作的 Graphics View绘图系统:绘制复杂的组件化图形,每个图件是可选择、可交互的 1.QPainter绘图系统QPainter绘图系统主要包括以下几部分: QPainter类:用于进行绘图操作 QPaintDevice类:绘图设备的基类,每个可以用QPainter绘制的类,比如QWidget,QPixmap,...







