随笔分类 -  QT

摘要:故事背景:需要把"Apr 12 01:03:17 2023 GMT"转化为"yyyy年MM月dd日 hh:mm:ss",直接看代码 QString gtm_time = "Apr 12 01:03:17 2023 GMT"; QLocale locale = QLocale::English; QD 阅读全文
posted @ 2023-06-21 11:01 徐沛东 阅读(268) 评论(0) 推荐(0)
摘要:重载QProxyStyle的paint函数,过滤焦点 // 解决QTableWidget选中单元格有虚框的问题 class MyProxyStyle : public QProxyStyle { public: virtual void drawPrimitive(PrimitiveElement 阅读全文
posted @ 2023-06-21 10:57 徐沛东 阅读(638) 评论(0) 推荐(0)
摘要:1. 直接设置样式 setStyleSheet("border:5px solid red;border-radius:10px") 2. this->setAttribute(Qt::WA_TranslucentBackground);//设置窗口背景透明 this->setWindowFlags 阅读全文
posted @ 2023-05-09 11:25 徐沛东 阅读(934) 评论(0) 推荐(0)
摘要:Qt版本说明 版本分类 Qt商业版:提供给商业软件开发。它们提供传统商业软件发行版并且提供在协议有效期内的免费升级和技术支持服务。 Qt开源版:提供了和商业版本同样的功能。它是免费的,使用开源版需要了解其采用的各种开源协议。 版本说明 2009年12月1日,诺基亚发布了Qt 4.6。 2013年7月 阅读全文
posted @ 2022-08-05 15:05 徐沛东 阅读(3273) 评论(0) 推荐(0)
摘要:故事背景:最近需要在父窗体修改按钮上弹出二次确认框,之前要么使用 QDesktopWidget,要么使用QCursor,来设置弹窗位置,但是这两种方式不是很理想,就是想弹到相对父窗体的位置,开始咱们的探险之路。。。 解决方案:因为之前了解过坐标系相关的概念,就从这个方向出发 1.获取父窗口相对于屏幕 阅读全文
posted @ 2020-11-12 15:14 徐沛东 阅读(10861) 评论(0) 推荐(0)
摘要:故事背景:最近做项目升级,需要界面上展示升级更新内容,用QLabel展示,字符串是这样的“1、XXXXXXX;2、XXXXXXX;3、XXXXXXX”,一个字符串用“;”隔开的,但是用QLbael展示把“;”替换为“\n”,但是行间距太近了,也没有先关的函数和QSS可以设置,进入咱们的探险之路。。。 阅读全文
posted @ 2020-11-03 15:42 徐沛东 阅读(3385) 评论(0) 推荐(0)
摘要:故事背景:我定义了一个QT父类,里面有自定义信号和槽函数,我在main函数定义父类指针指向子类对象,此时发信号,子类收不到,开始咱们的探险之路。。。 解决方案:根据加断点发现调用的是父类的信号,但是信号槽是在子类构造函数做的关联;此时把connect放在父类就可以了(这只是一种解决方案);另一种是在 阅读全文
posted @ 2020-10-23 11:42 徐沛东 阅读(4563) 评论(0) 推荐(1)
摘要:故事背景:由于要做终端定制的需求,在服务端上传一张128像素的图片,下发给客户端,适配所有图标(界面左上角、任务栏、快捷方式、托盘等),但是由于每个位置的图标大小不一样,代码要根据本身控件的大小做一个适配,开始我们的探险之路。。。。。。 解决方案:主要解决界面左上角16像素的适配,这里我用了三种方案 阅读全文
posted @ 2020-09-21 11:15 徐沛东 阅读(1452) 评论(0) 推荐(0)
摘要:本文并非原创,摘自:一去丶二三里 ,感谢大佬的总结 http://blog.csdn.net/liang19890820 推荐另外一个大神的QT总结,受益匪浅啊 https://gitee.com/feiyangqingyun/qtkaifajingyan Qt 官网 Qt 官网:https://w 阅读全文
posted @ 2020-02-19 16:10 徐沛东 阅读(1233) 评论(0) 推荐(2)
摘要:故事背景:最近用到阿里云的OSS,里面用到了好多char *,但是我QT里面都是QString,我尝试用QString::fromstdstring(“”).c_str();会报错,不知道是编码问题还是怎么 技术调研:需要把QString转为UTF QString strTest = ""; str 阅读全文
posted @ 2019-12-18 11:19 徐沛东 阅读(816) 评论(4) 推荐(0)
摘要:故事背景:因为客户端要清理旧版本以及日志文件,所以需要删除一个月以前的所有文件夹 技术调研:在程序中我想把文件夹直接删除,但是调用QDir中的rmdir()或者rmpath()时要求文件夹必须是非空的,否则删不掉,查了一下,好多人是通过count()计算出文件夹下的文件数量,然后使用for循环逐个删 阅读全文
posted @ 2019-12-06 16:32 徐沛东 阅读(11882) 评论(0) 推荐(0)
摘要:故事背景:客户端启动的时候需要加载机器/home/xx/test.jpg的图片作为背景图,但是有的机器用户名叫AAA,有的机器名叫BBB,所以我需要获取当前用户的home目录 技术调研:QStandardPaths QString strImagePath = QStandardPaths::wri 阅读全文
posted @ 2019-12-05 15:01 徐沛东 阅读(1905) 评论(0) 推荐(0)
摘要:故事背景:最近涉及到客户端更新自启动的一个问题,客户端检测到自己要更新,弹出一个更新界面,然后退出旧版本,启动新版本 技术调研:QProcess 直接上代码吧 qApp->quit(); QProcess::startDetached(qApp->applicationDirPath() + "/. 阅读全文
posted @ 2019-12-03 14:31 徐沛东 阅读(645) 评论(0) 推荐(1)
摘要:由于我在做linux下的QT开发,有时候会用到shell脚本的辅助,但是需要QT运行shell脚本并获取执行结果,今天给大家分享下我的技巧,废话少说直接上代码: //执行shell指令或者shell脚本的方法 QString Common::executeLinuxCmd(QString strCm 阅读全文
posted @ 2019-11-01 14:54 徐沛东 阅读(12593) 评论(5) 推荐(2)
摘要:开发中遇到这样一个需求,需要判断当前网络的类型(wifi或者4G或者网线),在这里给大家一块分享下: 1、这里有一个linux指令:nmcli(大家自行百度即可) 2、nmcli device status 这个指令就会打印出你想要的东西 3、如何用QT去调取这个指令获取结果来进行上报呢?来一段代码 阅读全文
posted @ 2019-10-30 18:31 徐沛东 阅读(1007) 评论(0) 推荐(0)
摘要:经常使用QT的同学可能会发现有时候需要json字符串和json对象之间的转换,今天他来了,直接上代码: QString InfoBase::JsonToString(const QJsonObject& json) const { return QString(QJsonDocument(json) 阅读全文
posted @ 2019-10-11 10:52 徐沛东 阅读(9564) 评论(0) 推荐(0)
摘要:一、如果编译器在支持C++11的情况下,我们可以使用u8"XXXX" 如:QString str = u8"我是中文"; 这样就解决了中文乱码的问题,使用UTF-8编码 二、我经常在代码中使用QStringLiteral("中文") 三、也可以使用下面的方法 #if QT_VERSION < 0x0 阅读全文
posted @ 2019-09-27 11:38 徐沛东 阅读(963) 评论(0) 推荐(0)
摘要:Question:最近在搞linux下的一个客户端项目,需要接收键盘事件,但是又不能有界面,这种情况怎么处理呢? int main(int argc, char *argv[]) { QApplication a(argc, argv); Test *p = new Test; a.installE 阅读全文
posted @ 2019-07-08 18:29 徐沛东 阅读(2377) 评论(0) 推荐(0)
摘要:Question:最近在linux下作的一个项目,设置了crontab自启动,但是经常出现启动多个进程的原因,针对这种情况,我做了如下处理: QLockFile *lockFile = new QLockFile("temp/appName.app.lock"); if (!lockFile ->t 阅读全文
posted @ 2019-07-08 18:13 徐沛东 阅读(2092) 评论(0) 推荐(0)
摘要:作为一个QT(C++/linux/windows)开发工程师,把自己在工作中遇到的一些QT问题持续总结给大家,一起分享: 一、隐藏鼠标:QApplication::setOverrideCursor(Qt::BlackCursor); 二、条件编译debug和release: CONFIG +=de 阅读全文
posted @ 2019-05-30 13:53 徐沛东 阅读(879) 评论(1) 推荐(0)