网站建设如何包含数据库,长沙诚信做网站,电商网站开发方案,泰安网红金火火1.Qt版本选择
Qt4.8.7是Qt4的终结版本#xff0c;是Qt4系列版本中最稳定最经典的
#xff08;很多嵌入式板子还是用Qt4.8#xff09;#xff0c;其实该版本是和Qt5.5差不多时间发布的。
参考链接
Qt 5.5 Released
Qt5.6.3最最后支持xp系统的长期支持版本#xff0c;Q…1.Qt版本选择
Qt4.8.7是Qt4的终结版本是Qt4系列版本中最稳定最经典的
很多嵌入式板子还是用Qt4.8其实该版本是和Qt5.5差不多时间发布的。
参考链接
Qt 5.5 Released
Qt5.6.3最最后支持xp系统的长期支持版本Qt5.7.0是最后支持xp系统的非长期支持版本。
Qt5.12.3是最后提供mysql数据库插件的版本往后的版本需要自行编译对应的mysql数据库插件官方安装包不再提供。
Qt5.12.5是最后样式表性能最高的版本经过酷码大佬查阅代码发现此后版本的样式表源码中为了修复一个bug做了循环嵌套设置导致性能急剧下降界面越多性能暴降10倍以上。
Qt5.14.2是最后提供二进制安装包的版本后面的版本都需要在线安装。
Qt5.15系列是最后支持win7的版本Qt6系列版本需要更改源码编译才能支持这对于小白来说难于上青天。 如上因用户使用Win7并开发机属于离线工作模式故选择5.14.2含之前版本作为IDE开发工具性能方面考虑5.12.5 2. Qt QButtonGroup addButton添加后规律
如果默认不指定id则默认id从 -2 开始计数依次递减
可通过-(id2)转为0-base的下标进行访问 3. Qt Connect接lamda实现
通常使用不挂接slot的lamda方式可以忽略SIGNAL、SLOT及形参的使用达到高内聚的要求。如
connect( button_circle, QPushButton::toggled, this, [](bool checked)
{
// todo
});
但是当遇到存在多个同名信号如QButtonGroup的buttonClicked信号
void buttonClicked(QAbstractButton *);
void buttonClicked(int);
则需要进行类型转换
connect(group, static_castvoid(QButtonGroup::*)(int)(QButtonGroup::buttonClicked), this, [](int id)
{
}); 4. QWidget的QSS背景色设置失效
试图重用某一块UI界面通常做法会从QWidget派生出一个子类将这部分局部功能进行封装。引入全局QSS或直接构造时setStyleSheet直接使用QWidget正常。
一旦派生子类则出现背景色设置失效的情况。 原因Qt官方解释Qt Style Sheets Reference | Qt Widgets 5.15.15
Supports only the background, background-clip and background-origin properties.
If you subclass from QWidget, you need to provide a paintEvent for your custom QWidget as below:
void CustomWidget::paintEvent(QPaintEvent *)
{QStyleOption opt;opt.init(this);QPainter p(this);style()-drawPrimitive(QStyle::PE_Widget, opt, p, this);
}The above code is a no-operation if there is no stylesheet set.
解决方法
方法1 听话重载paintEvent
方法2 内叠一个QWidget用它设置背景色
方法3 改祖从QFrame派生
方法4 setAttributeQt::WA_StyledBackground