- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 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 476
原创 qml tableview quick control 2
基于qt 5.12版本自定义TableView官方提供的没有标题,自定义添加标题栏支持:1.resize section2.swap section链接:github
2020-08-21 17:34:30 303
原创 qt 布局导致的控件边界位置leaveEvent触发错误
当通过布局控制QT界面时,如果存在多个控件关系如下:(父)A->(子)B->(孙)ClayoutA->layoutB->layoutCC的边界可能出现:鼠标还没有离开C的范围(相差很小)时,就触发了leaveEvent事件(可能是QT存在的bug,没有深入查看具体问题)。解决方式:C创建时,父采用A而不是B即可解决该问题...
2020-05-15 16:26:30 1222
原创 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 5447 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 3979
原创 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 2129
原创 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
原创 Qt窗口自适应子控件方法
问题描述:Qt界面存在自适应大小问题,当界面部分子控件隐藏或者展示就会存在部分空白,需要自适应,即当子控件隐藏时收缩覆盖,当子控件显示时扩大显示,如果只采用QBoxLayout,主界面只能扩大不能缩小解决方案:1.采用setFixedSize + QBoxLayout方式 1.1 在界面显示(隐藏)前强制刷新 1.2 在子控件显示(隐藏)后强制刷新此方法缺陷在于需要...
2019-07-31 14:11:13 1881
原创 windows下关于QtSingleApplication启动多个实例问题修复
Qt提供的QtSingleApplication在不同用户模式下能够启动多个实例,是由于创建QtSingleApplication时,QtLP_Private::QtLockedFile创建的临时目录不通导致,系统及目录一般在C:/Windows/Temp,而用户及目录在appData目录的临时目录下,创建lockfile如下:如需在不通用户模式下实现单例,只需将临时目录固定为指定目录即...
2019-05-09 17:42:53 332
原创 QTableView/QTreeView设置自定义排序(非QSortFilterProxyModel)
QSortFilterProxyModel可以实现自定义排序,当数据量较大、排序逻辑比较复杂的情况下采用该排序加载可能较为缓慢。改进措施:自定义排序QTreeViewBase.cpp实现setSortingEnabled(false);//禁用自带排序header()->setSortIndicatorShown(true);header()->setSections...
2019-02-19 09:57:45 3629
翻译 wsprintf缓冲区大小为1024字节
如果需要超过1024个字节,需要采用_snwprintf参考:https://docs.microsoft.com/zh-cn/windows/desktop/api/winuser/nf-winuser-wsprintfa
2019-02-18 15:35:32 597
原创 QGraphicsDropShadowEffect引起的重绘
QGraphicsDropShadowEffect绘制的阴影widget,会导致子控件重绘:如widget存在子控件如pushbutton,treeview,tableview等,当子控件触发任意界面事件(如hover)时,会触发widget重绘事件,进而重绘所有子控件,导致CPU上升,如果treeview(或者tableview)存在数据过多,会导致界卡顿;改进方法:widget-&...
2019-02-18 14:56:00 2930 3
原创 Qt依赖布局隐藏子控件问题
当主窗口依赖于布局设置大小时,放大正确(如子控件show),缩小错误(如子控件hide,子控件会变化,父窗口的布局不会自适应),需要进行如下处理:widget->hide();widget->setAttribute(Qt::WA_DontShowOnScreen);widget->setAttribute(Qt::WA_DontShowOnScreen, false)...
2019-01-28 14:41:18 7519
原创 c++ 编译器优化引起的问题
int fun1(int& num){ if(num) num += 100;}int fun2(int& num){ if(!num) num -= 100;}int main(){ int num = 0; int num1 = fun1(num) + fun2(num); //debu...
2019-01-23 11:00:29 2005
原创 CToolTipCtrl封装类
ToolTipsManager.h#pragma once#include <afxcmn.h>#define TOOLTIPS(x,y) CToolTipsManager::Instance(x)->Report(y)#define KILLTIPS(x) CToolTipsManager::Instance(x)->KillTips()class CT...
2018-11-06 17:14:44 252
原创 isql 插入中文乱码
isql插入中文乱码平台:redhat 6.x 数据库:linux oracle-11g R2 连接器:ODBC2.3.4现象: 上述软件均安装完成;sqlplus插入中文能够正常显示 isql插入中文乱码数据库字符集: select * from nls_database_parameters; 系统字符集: ODBC字符集: 配置无误! odbc编译选项: ./configu
2017-11-24 15:29:44 1170
原创 vsftp跨平台差异性
vsftp跨平台差异性本文只针对使用过程中发现的问题记录 配置环境: linux redhat vsftpd服务 windows登录vsftpd服务配置如下:# Example config file /etc/vsftpd/vsftpd.conf## The default compiled in settings are fairly paranoid. This sample fil
2017-11-14 16:19:14 264
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人