Qt 5.12.7 安装配置备忘

发现Qt官方下载有 5.12.7 更新,于是卸载了 5.12.4 ,重新安装了 5.12.7 , 安装细节过程记录一下备忘。

安装包

Q 5.12.7 : http://download.qt.io/archive/qt/5.12/,Windows x86 版,自带的 Qt Creator : 4.11.0 , Based on Qt 5.14.0 (MSVC 2017, 32bit),安装时记得勾选 VS2017 32和64位,以及 perl(编译opcua要用到) 。

Continue reading

Qt 设计可自适应的“图形用户界面”

Qt 的“图形用户界面”是设计软件时需要考虑的问题。通常存在的问题是,不熟悉布局的用户在设计界面时,往往忽略了”布局“和”占位“功能的使用,而是直接往默认窗体上拖放控件,是一种“绝对定位”的方式。这样造成的问题时,窗口布局上的控件只有在设计尺寸时才是设计的样子,一旦拖拉窗体,会发现窗体变大而控件还保持原地不变,不能够根据窗体扩展而自适应。这显然不符合逻辑的。其实,Desinger 是有提示的,在顶级Widget 前面有个红色圆圈禁止图标,表明顶级widget没有添加布局。

熟练使用布局和占位,是做好图形界面的前提。Qt预定义的布局管理器总共有四种:QBoxLayout、QGridLayout、QFormLayout、QStackedLayout,它们都是QLayout的子类。

Continue reading

Qt 自定义 ”开关“ 控件

一、自绘控件

采用纯代码自绘控件,对编码者要求比较高。

 

二、用现有 QCheckBox 实现

准备两个图片,打开和关闭

在 QCheckBox 控件,邮件改写样式表,即可实现开关状态改变。使用时需要设置 width 和 height ,否则不会动态适应大小。

QCheckBox::indicator {
width:  100px;
height: 100px;
}
QCheckBox::indicator:unchecked {
image: url(:/on);
}
QCheckBox::indicator:checked {
image: url(:/off);
}

也可以将此QSS写入到代码当中

ui->checkBox->setStyleSheet("QCheckBox::indicator {width:  100px;height: 100px;}QCheckBox::indicator:unchecked {image: url(:/on);}QCheckBox::indicator:checked {image: url(:/off);}");