- 博客(165)
- 资源 (1)
- 收藏
- 关注

原创 记录重要的网站
一、UI逼格高,动态图比较高清(GIF)二、查找问题Stack Overflow最大编程社区,可以找到绝大多数问题三、技术1.web、HTML、JS、CSS文档,界面舒适,适合基础2.OpenGL学习网站,支持中文
2020-08-04 20:09:04
628

原创 QT 工作遇到的小问题
1.QT中清空布局中所有小控件addWidget后,如果使用removeWidget,界面上的小控件不会立即消失,可以进行如下操作QRadioButton *button = new QRadioButton("血刀老祖");button->setParent(nullptr);
2020-06-30 15:44:02
2146

原创 QT 常用功能集合
一、QT 获取秒级、毫秒级时间戳QT 手机号正则匹配QT 使某个窗口或者widget不能获得焦点QT 常用样式代码(常规、悬停、点击、不可点击) + 字体、边框、背景、字体、圆角、边距、渐变QT 设置窗口:常用setAttribute 、setWindowFlags属性二、QT 新式信号槽写法QT 实现半透明遮罩效果QT 实现窗口四周阴影QT 实现拖拽事件...
2019-12-30 15:42:50
700
原创 Excel 数据转换为SQL语句
在双引号中写入INSERT语句脚本,然后回车。1、找一列空白的,选中一个单元格,输入。2、将C10的公式拷贝到全部行的C列。
2025-03-13 13:29:53
291
原创 C++ 线程常见的实际场景解决方案
坑点:上述代码在debug下运行是没有问题的,因为编译器会关闭大部分优化,目的是保留代码的原始行为,方便调试。但是在release模式下,编译器发现该循环内部无任何操作,会采取循环消除优化,直接跳过,所以此时bConnect为false。主线程等待一个线程,此线程会开始连接一个服务器并循环读取服务器存储的值,主线程会阻塞直到连接服务器成功。因为如果不阻塞,可能上层业务刚开始读不到数据。
2024-11-08 08:42:25
339
原创 c++ int 和short可能不会重载的问题
在c++中,int和short可以作为参数来重载函数的,因为他们是不同类型。函数重载是基于参数的类型或数量不同来区分的。但需要注意的是,虽然 Int 和 short 是不同的类型,但如果传入的值是一个小整数字面量(如func(5)),所以最好定义确定的类型,再赋值。
2024-10-08 14:35:33
265
原创 C++ 内存对齐详解
计算机从理论上讲可以对任何类型的变量的访问可以从任何地址开始,但由于某些平台原因、性能原因,需要对这些数据在内存中存放的位置做处理,各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。不过alignof是针对具体类型的,而不是针对编译器默认的对齐方式。内存对齐是由编译器做处理的,该类型占多大内存空间,偏移量是多少,整体的大小是多少,都是由编译器在编译期间就确定了。但是可以通过检查一个较大类型的对齐要求,比如一个自定义的结构体,它的大小会决定编译器默认的对齐方式。
2024-08-26 15:13:34
970
原创 QT 剥离
QT中的万能变量,通过C++17中的std::any替代。需要在工程属性中,配置属性(常规),设置C++语言标准,设置。可以通过try-catch捕捉,或者判断类型id,或者判断指针是否为空避免。std::any是类型安全的,(3)判断指针是否为空。
2024-08-25 15:57:46
606
原创 VS(visual studio) 常见的编译错误和技巧
(2)可能是因为中文的原因,可以在末尾加一个空格或者加一个符号。中,该文件被我偶然改了换行符格式,在编辑器的右下角将。(1)可能是因为包含头文件时,双引号没有补齐。构造函数和析构函数无法解析,是因为在。
2024-07-31 09:59:46
983
原创 DBus 在Qt和C++中的使用Demo
DBus(D-Bus)是一种跨进程通信机制,是一种消息总线系统。DBus提供了一种在应用程序之间进行通信和交互的方式,可以在不同的进程之间传递消息,并提供了一套API供开发者使用。场景:先获取当前用户的路径,在根据路径获取用户的昵称。实现上述同样的功能。
2024-06-03 11:41:06
633
原创 Linux 不同架构、不同系统的问题
我的程序在通过sudo,去安装程序安装包时,总会在用户目录下,新建一个root所属组的文件,导致程序后续都无法使用该配置文件。就是在麒麟v10下,让文件生成到根目录,不影响到家目录用户。写一个最直接的demo,可以说明根本的原因,当前在家目录下,麒麟v10操作系统的。因为在QSettings中,如果不指定确切的用户,它默认创建的目录会使用。如果未开启窗口特效功能,那么程序中如果插入包含透明背景的图片,会显示黑色。环境变量为用户目录,而其他操作系统的该变量为。所获取的路径,该函数在linux下是通过。
2024-02-26 10:12:59
475
1
原创 QT Linux下无法使用CTRL+ALT+P快捷键,不生效
xcb是Linux下的底层系统库,所有的鼠标,键盘事件都从这个库收集上来,qt会对所有的事件进行转换为qt内部定义的事件,然后分发给应用程序。(6)不想升级这个程序,我直接卸载了,然后通过xev检测,发现可以抓取到该快捷键,通过调试qt 程序,发现,tryShortcut函数可以正常获取到该事件了,但是应用程序依然无法使用。后,键码值是16777219,理论上应该是80,因为上一个键是O,是正常的,其值是79。下,使用该快捷键无效,虽然使用的是一套代码,但在不同平台下某些插件的实现还是有差异的。
2024-02-05 12:00:45
1162
原创 QT 检测是否有网络
二、最后在加个定时器,就算没有等到网络请求返回,超时后也会退出事件循环,可以避免网络请求长时间阻塞主线程。一、模拟一个请求去判断是否有网,此处需要加个事件循环,实现阻塞等待网络请求的完成。
2024-01-12 15:48:50
1376
原创 QT c++和qml交互实例
(5)实现一个简单的列表框(ListView),相当于QListWidget,定时请求网络数据,展示学生信息,将view和model进行分离,降低界面与数据的耦合。(4)展示一个简单的堆栈窗口(SwipeView),相当于QStackedWidget,管理多个子窗口页面。(2)qwidget工程如何加载qml工程,如何加载自己实现的qml tool库。(3)创建无边框qml界面,支持拖拽,窗口的缩小与展开,界面的分段实现。(6)点击学号、年龄,实现了列表数据的排序。
2024-01-06 15:18:06
1538
原创 C++ fstream 处理文件读写示例
使用C++标准库的类,有三种方式可以处理文件读写,包括文本文件和二进制文件。当前场景每行每行读取,当然也可以read自定义读取。
2024-01-04 20:25:06
608
原创 QT linux下使用Qt Creator调试附加进程,加快调试
使用附加进程调试要比直接调试速度要快,但是不足之处时,已经执行的代码可能不会再触发,比如程序初始化只执行一次的代码,可以在main函数入口Sleep一下,再此期间,赶紧将调试附加到进程上。或者老办法直接调试。
2023-12-07 15:08:44
1361
原创 QT 利用空闲时间(OnIdle)处理work
QAbstractEventDispatcher允许将自己的事件插入到Qt的事件循环中。它也允许监视事件循环。每个需要使用空闲时间的widget,注册当前QObject,添加到总的队列中。当空闲时间到达时,循环处理队列中的widget,向每一个widget发送idlewidget事件。所谓空闲时间(idle time),是指系统中没有任何消息等待处理的时间。比如某个时刻,没有碰触键盘和鼠标,那么,系统就处于所谓的空闲时间。WM_ENTERIDLE消息,发送到进入空闲状态的模式对话框或菜单的所有者窗口。
2022-10-17 17:10:55
1309
原创 QT 界面在linux下调试时卡死的问题
xnest是一个虚拟的X服务端,其窗口可以运行界面程序,电脑在调试弹窗时界面容易冻住,失去了焦点,只有鼠标可以移动,这时候就可以使用这个工具。
2022-09-27 11:30:08
1249
原创 ubuntu xrdp密码正确依然登录失败的问题
文章目录一、报错二、解决一、报错1、xrdp 界面报错:login failed for display 02、cat /var/log/xrdp-sesman.log日志中报错:[ERROR] X server -- no display in range is available二、解决(1)xrdp用了一段时间,突然有一天无法登录,输入正确的命令也不行(2)起初是发现工作目录下有隐藏的相关xrdp日志,怀疑是达到连接数的上线,但是删除并重启后并未解决(3)通过/etc/xrdp/sesm
2022-05-24 12:38:39
11610
2
原创 QT QFileSystemModel显示文件目录树
一、代码示例// m_outDir,需要打开的目录路径void MainDialog::showDirTree(){ if (!pFileModel ) QFileSystemModel *pFileModel = new QFileSystemModel(); pFileModel ->setRootPath(m_outDir); // 绑定model,并设置索引 ui->treeView->setModel(pFileModel);
2022-05-19 17:49:43
1916
原创 QT 使用QMenu创建菜单(示例)
文章目录一、效果图二、代码示例一、效果图二、代码示例QMenuBar *bar = new QMenuBar(this); ui->topLayout->addWidget(bar); QMenu *pFileMenu = new QMenu(QStringLiteral("文件"), this); QAction *pOpenAction = new QAction(QStringLiteral("打开"), this); QAction *pSave
2022-05-19 17:30:42
1667
原创 QT XML文件格式化(美化) & 反格式化(压缩)
一、格式化(美化)通过QXmlFormatter进行格式化// 传入xml文件路径QString MainDialog::formatText(const QString &path){ if (path.isEmpty()) return ""; QXmlQuery query; query.setQuery(QString("doc('%1')").arg(path)); QByteArray outArray; QBuffer
2022-05-19 17:01:24
1196
原创 QT qss设置滚轮样式不生效的问题
文章目录一、原因以及现象图1、正确样式2、错误样式二、滚轮代码一、原因以及现象图滚轮的样式写到了当前QTextEdit的控件里,如果其父控件自定义了任意样式,那么当前QTextEdit样式就会显示异常,应该将滚轮样式写到父控件上。1、正确样式2、错误样式二、滚轮代码QScrollBar::sub-line:vertical { height: 0px; subcontrol-position: top; subcontrol-origin: margin;backgr
2022-05-19 16:35:32
1012
原创 wsl安装xrdp(可视化界面并远程),解决闪退、黑屏
window11 安装linux子系统(一键安装)并连接到vs code操作之前可以先换源// 编辑sudo vim /etc/apt/sources.list// 替换为以下内容deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiver
2022-05-13 13:33:11
16892
6
原创 QT 修改图片透明度
一、代码MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow){ ui->setupUi(this); QString name = "D:/closechat.png"; QImage img(name); QPixmap resultImage = QPixmap::fromImage(img); QPixmap sou
2022-03-29 17:34:40
1588
原创 jenkins 批处理(bat)执行devenv提示许可证已到期,执行总是失败
一、问题jenkins配置好以后,打包脚本一直运行的好好的,突然有一天打包失败了,devenv提示vs 许可证已到期,于是打开vs,登录了自己的微软账户,获得了授权,然后运行jenkins进行打包,发现控制台输出还是提示许可证已到期。于是赶快检查是不读取到vs的版本号不对,发现也正常,本地去运行这个脚本也正常,可以正常编译,但jenkins还是提示错误。然后又将当前本地时间往前改了一个月,发现总算可以编译了,但是一旦时间到期还是需要手动改本地时间,治标不治本,而且虽然说可以编译了,但是自己的Pyth
2022-03-17 13:47:18
931
原创 QT QPushButton监听disabled状态
一、实现方式为了通过监听disabled而改变图标,发现QPushButton和QToolButton并没有这个信号,所以需要去监听这个QEvent::EnabledChange事件即可得到这个状态。二、代码// TaskButton继承QPushButtonbool TaskButton::event(QEvent * e){ // 状态改变后,获取当前bool值 if (e->type() == QEvent::EnabledChange) { emit customIsEnab
2022-03-10 19:34:16
1678
QT 文件上传和下载.zip
2020-05-11
教室管理系统.rar
2019-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人