漫步繁华街
码龄12年
  • 2,138,511
    被访问
  • 146
    原创
  • 933
    排名
  • 472
    粉丝
  • 29
    铁粉
关注
提问 私信
  • 目前就职: 好未来
  • 加入CSDN时间: 2010-05-24
博客简介:

漫步繁华街的专栏

博客描述:
技术交流,共同学习,共同进步!
查看详细资料
  • 6
    领奖
    总分 2,207 当月 12
个人成就
  • 获得901次点赞
  • 内容获得1,307次评论
  • 获得2,854次收藏
创作历程
  • 5篇
    2022年
  • 5篇
    2021年
  • 9篇
    2020年
  • 27篇
    2019年
  • 105篇
    2018年
成就勋章
TA的专栏
  • QML
    1篇
  • html5
    1篇
  • QT
    114篇
  • C++
    50篇
  • CEF3
    15篇
  • NSIS
    4篇
  • Python
  • JS
    2篇
  • Git
    6篇
  • 程序人生
    1篇
  • 编码
    2篇
  • 字符集
    2篇
  • bat
    2篇
  • 最近
  • 文章
  • 资源
  • 帖子
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Qt QTextEdit 设置 QScrollBar 样式表不生效解决方案

Qt QTextEdit 设置 QScrollBar 样式表不生效的两种解决方案
原创
发布博客 2022.06.30 ·
71 阅读 ·
0 点赞 ·
0 评论

QT_QPieSeries_QPieSlice label 标签重叠解决方案

发布资源 2022.04.26 ·
zip

QPieSeries QPieSlice label 标签重叠解决方案

QPieSeries QPieSlice label 标签重叠解决方案一般情况下做这种饼状图很简单,如: QPieSeries *series = new QPieSeries(this); series->append("迟到人数22", 22); series->append("旷工人数35", 35); series->append("正常出勤人数97", 97); series
原创
发布博客 2022.04.26 ·
280 阅读 ·
0 点赞 ·
0 评论

Qt 强杀进程、子进程(应用)的一种方式

一、背景一般情况下,程序退出时,它调用的所有子进程都会一起退出。但异常退出的时候,并非所有的子进程都能正确退出。所以我们的做法一般都是在程序启动的前来一次检查,将上次启动没有退出的子进程杀掉,然后再继续运行程序。二、清理进程方式一1. 使用QProcess 执行杀进程命令:void ClearProcessByProcessName(const QString &strPrcessName){ if (strPrcessName.isEmpty()) {
原创
发布博客 2022.03.08 ·
536 阅读 ·
2 点赞 ·
1 评论

Qt Creator release版本进行调试

一、背景:我们在进行性Qt Creator 进行开发时,想要调试代码,通常是只需要编译 debug 版本的程序。但对于很多大型项目,引用外部第三方库中难免只存在release版本的动态库,所以,当我们的程序进行debug 调试时,往往会编译不过,导致无法调试。所以,如果我们的代码编译release版本的程序,也可以进行debug 调试就好了。二、 Qt 全局设置1. 进入Qt 的安装目录,打开编译器目录中的 msvc-desktop.conf 文件进行配置2. 设置属性将 QMAKE
原创
发布博客 2022.03.07 ·
10414 阅读 ·
3 点赞 ·
0 评论

Qt 实现 Dismiss Dialog 对话框的一种方式

我们经常会遇到这样的需求,鼠标点击某个按钮之后,会弹出来一个选择框。如果鼠标点击其他地方,这个选择框就会消失的需求,例如微信表情框:Qt 实现方式不止一种,我们这里说一种最简单的方式。1. 点击Mainwindows里的按钮,我们在鼠标点击的位置显示一个对话框(QWidget):void MainWindow::on_pushButton_2_clicked(){ if (form == nullptr) { form = new Form(this);
原创
发布博客 2022.03.07 ·
10716 阅读 ·
3 点赞 ·
0 评论

在浏览器(H5)打开 windows pc 应用程序.exe

想要实现的效果是打开浏览器,输入一个链接,就可以打开本地安装的应用程序。或者H5页面的一个链接,点击就能打开windows 本地安装的程序。这时候就要借助windows的注册表了,比如说我们的应用程序叫launcher.exe 。我想在浏览器输入 launcher://xxxxx 就能打开本地的 launcher.exe我们要通过自己的方式创建相应的注册表1. 创建注册表 “HKEY_CLASSES_ROOT\launcher” (homework 这个就是协议名称)...
原创
发布博客 2021.10.27 ·
11834 阅读 ·
0 点赞 ·
0 评论

Qt cef3 无边框程序最小化之后,再打开 hover 状态失效

1. 使用qt + cef3 开发的 pc 桌面程序出现一个奇怪的问题,描述如下:1. 程序最小化之后,再最大化,所有Qt 按钮的hover状态都失效。2. hover 失效后的程序,showNormal 之后再 showMax。 hover状态又恢复正常。3. 将cef 加载的链接屏蔽掉,只保留C++框架,所有Qt 按钮的hover状态正常。2. 解决方法:在mainwindow 的 showEvent()函数里面设置Qt::WA_Mapped属性:void showEve
原创
发布博客 2021.09.23 ·
9688 阅读 ·
0 点赞 ·
0 评论

PC C++ Qt 桌面软件防止重新启动

越来越多的 windows 桌面程序要求防止重复启动,或者说只允许同时启动一个。实现方式有很多,我们接下来梳理一下常用的做法:一、创建互斥量原理:使用 windows 系统函数 CreateMutex ,一般根据唯一的应用程序的名称来找出当前系统中是否已经存在了指定进程的实例,如果没有,则会创建一个。注意: 程序退出时,一定要调用CloseHandle(m_hMutex),不然后果很严重,可能导致以后的程序无法打开。#include "stdafx.h"#include "window.
原创
发布博客 2021.09.14 ·
10782 阅读 ·
1 点赞 ·
0 评论

C++ Qt windows 利用 Copydata 方式进行进程间通讯

1. 头文件:#include <windows.h>#include <tlhelp32.h>2. 发送方:void sendMessage(){ // 根据窗口名称查找窗口句柄 HWND hWnd = ::FindWindowA(("myWindowsName"), NULL); if (hWnd == nullptr) { return; } // 组装copydata信息 std::
原创
发布博客 2021.08.16 ·
9633 阅读 ·
1 点赞 ·
0 评论

二选一的时候到了,Qt Widgets 还是 Qt Quick ? 致Qt开发伙伴

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、Qt QWidgets 和 Qt Quick 各自有什么特性、特点? 1.Qt QWidgets 2.Qt Quick 二、开发一款软件,选用Qt QWidgets 还是 Qt Quick? 1.Qt QWidgets 2.Qt Quick 总结前言我们都知道,我们网校的大部分PC客户端软件都是采用基于Qt的应用程序开发框架来实现的。其中,对于客户端软件,全部或部分使用Q.
原创
发布博客 2021.06.30 ·
12324 阅读 ·
10 点赞 ·
2 评论

dialogDismissDemo.zip

发布资源 2021.06.21 ·
zip

Qt Quick QML 与 C++ 交互系列之二

上次说了 C++ 与 QML 交互一共有四种:注册 C++ 对象到 QML,在 QML 中访问 C++对象; QML 暴露对象给 C++ 进行交互; C++ 创建 QML 对象并进行交互; C++ 对象与 QML 通过信号槽进行交互;我们再次强调一下,这四种交互方式,是每一个要学习 QML 的程序员必须要深刻理解并熟掌握的。今天重点介绍三种方式:C++ 创建 QML 对象并进行交互 的方法;为了更快的进入节奏,我们今天还是在上次项目的基础上进行修改。1. 首先,我们创建一个 “Win
原创
发布博客 2020.10.28 ·
11105 阅读 ·
5 点赞 ·
1 评论

Qt Quick QML 与 C++ 交互系列之一

QML 作为一种灵活高效的界面开发语言已经越来越得到业界的认可。QML 负责界面,C++ 负责逻辑,这也是 Qt 官方推荐的开发方式。那么 QML 与 C++ 的交互必然是每一个Qt开发老师需要掌握并且精通的。接下来,我们会对QML 与 C++ 交互的几种方式进行详细讲解。我们通过创建项目,通过例子来实现、体验并应用这几种交互方式,让我们由浅入深理解其中的原理。首先,QML 与 C++的交互大致可以分为4种形式:注册 C++ 对象到 QML,在 QML 中访问 C++对象; QML 暴露对象给
原创
发布博客 2020.10.24 ·
10808 阅读 ·
8 点赞 ·
9 评论

QT 遍历 删除 QMap

QMap<int, QWidget*>::iterator iter = m_pages.begin(); while (iter != m_pages.end()){ if (presistMenuIds.contains(iter.key())) { iter++; continue; } int key = iter.key(); iter++; ...
原创
发布博客 2020.09.14 ·
11941 阅读 ·
0 点赞 ·
1 评论

QString 与 LPCWSTR 互转

一、 QString 转 LPCWSTR QString myStr("hello world"); std::wstring wlpstr = myStr.toStdWString(); LPCWSTR lpcwStr = wlpstr.c_str();二、 LPCWSTR 转 QStringQString myStr = QString::fromStdWString(lpcwStr);
原创
发布博客 2020.08.19 ·
11143 阅读 ·
1 点赞 ·
1 评论

QT error: LNK2019: 无法解析的外部符号 __imp__SendMessageW@ 类型的错误 以及 pragma comment 的作用(用法)

使用QT Creator 开发一个通讯项目时候,需要使用windows系统函数,比如:#include <windows.h>#include <WinUser.h>...::IsWindow(server)::FindWindowW(nullptr,title); ::SendMessage(server, WM_COPYDATA, reinterpret_cast<WPARAM>(sender), reinterpret_cast<LPAR
原创
发布博客 2020.08.18 ·
13306 阅读 ·
3 点赞 ·
2 评论

使用 C++17 fold 表达式来大幅提升的QString的拼接效率

一、前言最近学习C++17,发现一个有趣的表达式-fold expression(折叠表达式)。为什么说它是有趣的?我们先说一下另外一个C++的特性-变参模板(variadic template),这是C++11新增的的特性,作用就是它可以接受任意个模版参数,参数包不能直接展开,需要通过一些特殊的方法,比如函数参数包的展开可以使用递归方式或者逗号表达式,在使用的时候有点难度。而这次C++17中...
原创
发布博客 2020.03.27 ·
11352 阅读 ·
1 点赞 ·
0 评论

好好的web页面,为什么嵌入到CEF3中就错位了?

一、问题引入 这些天在做一个windows客户端软件的二维码登陆需求,使用的是C++的框架+CEF3展示内容(二维码)的架构,其中CEF3仅仅用来展示web写的二维码。开发完成后,在测试和产品老师的电脑上居然二维码是错位的。实际效果如下:(其中二维码所在的白色区域是一个CEF3嵌套web页面,周围的蓝色区域是C++框架)图1是我做好的效果,给产品和测试老师运行的时候,...
原创
发布博客 2020.03.06 ·
11446 阅读 ·
2 点赞 ·
2 评论

C++ 实现高性能内存池

一、概述在 C/C++ 中,内存管理是一个非常棘手的问题,我们在编写一个程序的时候几乎不可避免的要遇到内存的分配逻辑,这时候随之而来的有这样一些问题:是否有足够的内存可供分配? 分配失败了怎么办? 如何管理自身的内存使用情况? 等等一系列问题。在一个高可用的软件中,如果我们仅仅单纯的向操作系统去申请内存,当出现内存不足时就退出软件,是明显不合理的。正确的思路应该是在内存不足的时,考虑如何管理并...
原创
发布博客 2020.03.05 ·
11211 阅读 ·
0 点赞 ·
1 评论
加载更多