qt
逆水行舟天涯路
这个作者很懒,什么都没留下…
展开
-
Qt::Popup引起进程退出的问题
现象:主窗口属性:setWindowFlags(Qt::FramelessWindowHint | Qt::Popup);创建子窗口对象:QDialog通过条件触发(按钮或者其他),弹出QDialogvoid xxxx::onClick(){auto dialog = new QDialog(this);dialog->exec();}当exec()返回后,触发dialog的closeEvent函数,进而触发主函数(main)的exec退出解决:...原创 2021-02-25 16:17:41 · 480 阅读 · 0 评论 -
qml tableview quick control 2
基于qt 5.12版本自定义TableView官方提供的没有标题,自定义添加标题栏支持:1.resize section2.swap section链接:github原创 2020-08-21 17:34:30 · 305 阅读 · 0 评论 -
基于qt opengl壁纸编辑器
预览效果:作品连接glsl推荐:http://glslsandbox.com/原创 2020-07-06 16:49:45 · 216 阅读 · 0 评论 -
qt 布局导致的控件边界位置leaveEvent触发错误
当通过布局控制QT界面时,如果存在多个控件关系如下:(父)A->(子)B->(孙)ClayoutA->layoutB->layoutCC的边界可能出现:鼠标还没有离开C的范围(相差很小)时,就触发了leaveEvent事件(可能是QT存在的bug,没有深入查看具体问题)。解决方式:C创建时,父采用A而不是B即可解决该问题...原创 2020-05-15 16:26:30 · 1224 阅读 · 0 评论 -
qt adjustSize自适应显示不全问题
adjustSize在显示过程中可能存在展示不完全的问题,产生场景:子widget大小超过父widget,同时子widget大于当前屏幕分辨率的2/3。对adjustSize应源码如下:QSize QWidgetPrivate::adjustedSize() const{ Q_Q(const QWidget); QSize s = q->sizeHint(); if (q->isWindow()) { Qt::Orientations原创 2020-05-12 14:05:00 · 5453 阅读 · 1 评论 -
QCombobox内容居中(包含展示内容,下拉列表)
1.本文达到效果如下:2.代码如下Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget){ ui->setupUi(this); resize(600, 400); QComboBox* box = new QComboBox (this); ...原创 2020-03-02 16:09:06 · 3989 阅读 · 0 评论 -
Qt 一般无边框窗口(QWidget Qt::FramelessWindowHint 带阴影)
效果图:1.边框缩放2.拖拽至边界自动半屏全屏(windows)3.支持自定义绘制背景,修改resizeBackground函数即可,支持贴图4.边框修改、拖动缩放可以通过MSDN查到资料4.1 当鼠标拖动窗口移动时,系统会发送WM_MOVING消息,传递一个RECT用来描述dragmove对应的边框,可以通过修改其中的值达你需要的效果4.2 当鼠标按下移动...原创 2020-01-03 13:54:20 · 2133 阅读 · 0 评论 -
QT 动态编译引起的This application failed to start because it could not find or load the Qt platform plugin
采用qt(5.10.1)安装包安装的程序(默认是动态编译存在该问题,静态编译无此问题)当影藏运行程序所在文件夹时,运行该程序会出现如下所示问题:解决方法,采用静态编译(qt源码需要静态编译)即可注:官方安装包均为动态编译...原创 2019-10-14 11:42:38 · 210 阅读 · 0 评论 -
Qt窗口自适应子控件方法
问题描述:Qt界面存在自适应大小问题,当界面部分子控件隐藏或者展示就会存在部分空白,需要自适应,即当子控件隐藏时收缩覆盖,当子控件显示时扩大显示,如果只采用QBoxLayout,主界面只能扩大不能缩小解决方案:1.采用setFixedSize + QBoxLayout方式 1.1 在界面显示(隐藏)前强制刷新 1.2 在子控件显示(隐藏)后强制刷新此方法缺陷在于需要...原创 2019-07-31 14:11:13 · 1891 阅读 · 0 评论 -
windows下关于QtSingleApplication启动多个实例问题修复
Qt提供的QtSingleApplication在不同用户模式下能够启动多个实例,是由于创建QtSingleApplication时,QtLP_Private::QtLockedFile创建的临时目录不通导致,系统及目录一般在C:/Windows/Temp,而用户及目录在appData目录的临时目录下,创建lockfile如下:如需在不通用户模式下实现单例,只需将临时目录固定为指定目录即...原创 2019-05-09 17:42:53 · 332 阅读 · 0 评论 -
QTableView/QTreeView设置自定义排序(非QSortFilterProxyModel)
QSortFilterProxyModel可以实现自定义排序,当数据量较大、排序逻辑比较复杂的情况下采用该排序加载可能较为缓慢。改进措施:自定义排序QTreeViewBase.cpp实现setSortingEnabled(false);//禁用自带排序header()->setSortIndicatorShown(true);header()->setSections...原创 2019-02-19 09:57:45 · 3632 阅读 · 0 评论 -
QGraphicsDropShadowEffect引起的重绘
QGraphicsDropShadowEffect绘制的阴影widget,会导致子控件重绘:如widget存在子控件如pushbutton,treeview,tableview等,当子控件触发任意界面事件(如hover)时,会触发widget重绘事件,进而重绘所有子控件,导致CPU上升,如果treeview(或者tableview)存在数据过多,会导致界卡顿;改进方法:widget-&...原创 2019-02-18 14:56:00 · 2932 阅读 · 3 评论 -
qt字体缩放问题
采用qt-qss绘制界面样式时,字体采用pt不会随dpi的缩放发生变化,采用px则会自动缩放原创 2019-01-23 11:06:13 · 3877 阅读 · 0 评论 -
Qt依赖布局隐藏子控件问题
当主窗口依赖于布局设置大小时,放大正确(如子控件show),缩小错误(如子控件hide,子控件会变化,父窗口的布局不会自适应),需要进行如下处理:widget->hide();widget->setAttribute(Qt::WA_DontShowOnScreen);widget->setAttribute(Qt::WA_DontShowOnScreen, false)...原创 2019-01-28 14:41:18 · 7523 阅读 · 0 评论