- 博客(78)
- 资源 (41)
- 问答 (1)
- 收藏
- 关注
原创 实现QTableWidget表头带Checkbox
效果关键逻辑重写表格的水平HeaderView,在表头中加入checkBox组件#ifndef QCHECKBOXHEADERVIEW_H#define QCHECKBOXHEADERVIEW_H#include <QCheckBox>#include <QComboBox>#include <QHeaderView>#include <QMap>class CheckBoxHeaderView : public QHe
2020-11-10 17:38:45 1807
原创 使用SkinH实现MFC换肤 102种皮肤
说明 使用SkinH.dll和*.she后缀的皮肤库进行动态换肤。效果关键逻辑void CSkinDemoDlg::OnCbnSelchangeComboSkinStyle(){ int nIndex = m_combSkin.GetCurSel(); if (nIndex < 0) { return; } string strSkinName = m_vctFiles[nIndex]; std::stri...
2020-08-10 11:30:23 1874
原创 系统服务用CreateProcessAsUser实现创建界面进程
一、需求 有一个带界面的GUI程序需要一直保持运行状态,但是操作系统有时会自动更新重启,虽然已经通过注册表的方式设置为自启动,但是必须登录操纵系统才能启动,所以需要一种不登录也能让该程序运行的实现方法。 又因为这个程序是GUI程序,无法直接注册为系统服务(系统服务可以开机后不登录也在后台运行),所以考虑通过把一个控制台程序注册成系统服务,然后通过这个控制台程序调用GUI程序。下面代码是控制台程序调用GUI程序的关键逻辑。 经测试,在Win10 和 window...
2020-07-17 14:25:32 3306 1
原创 windows 实现UDP广播获取设备
关键逻辑1、获取本机所有IP,把IP的最后一个字段值改为255,去掉重复的IP2、遍历所有IP进行广播代码实现// BroadcastDemo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h> #include <winsock2.h> #include <ws2tcpip.h> #include <ws2def.h>#pragma comment(l
2020-06-18 16:27:17 1029
原创 MFC 用Gdiplus画曲线和直线
一、效果二、关键逻辑 Gdiplus::Pen m_pen; Gdiplus::Pen m_penSolid; REAL dashVals[4] = { 1, // 短划长为2 3, // 间隔为2 1, // 短划长为15 3 }; // 间隔为2 m_pen.SetDashPattern(dashVals, 4); m_penSolid.SetDashStyle(DashStyleDot); CPaintDC dc(this); // 用于绘制的
2020-05-11 09:08:37 789
原创 MFC CComboBox下拉框长度根据内容变化
一、效果二、关键逻辑继承CComboBox,在OnCbnDropdown里实现根据下拉框内容调整下拉框高度void CComboBoxDropEx::OnCbnDropdown(){ // TODO: 在此添加控件通知处理程序代码 CDC* pDC = GetDC(); if (pDC != NULL) { CString strText; CRect rc; GetClientRect(rc); int nMaxWidth = rc.Width(); co
2020-05-11 08:56:45 1808
原创 C# 隐藏和显示鼠标
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Runtime.InteropServices;.
2020-05-09 15:24:11 1064
原创 UTF8和ANSI互转
std::string Utf8ToAnsi(const char* szUtf8){ bool bNeedFreeW = false; int WLength = MultiByteToWideChar(CP_UTF8, 0, szUtf8, -1, NULL, NULL); LPWSTR pszW = NULL; __try { pszW = (LPWSTR)_alloca((WLength + 1) * sizeof(WCHAR)); } __except (EXCEPTION..
2020-05-09 15:07:31 2789 1
原创 解决Qt5编译的程序在凝思磐石Linux操作系统无法输入中文的问题
解决Qt5编译的程序在凝思磐石操作系统无法输入中文的问题参考:https://my.oschina.net/lieefu/blog/505363?p=3#comments关键步骤在参考链接中一、背景Qt5编译的程序在凝思磐石操作系统无法使用谷歌拼音输入法输入中文二、解决思路1.更新cmake到3.2以上,我更新到3.9.22.编译fcitx-qt5(Ubuntu16)...
2020-03-31 13:56:41 2387
原创 Qt5 解决QSlider的valueChanged槽函数中setValue导致一直回调的问题
Qt5 解决QSlider的valueChanged槽函数中setValue导致一直回调的问题问题描述 公司一款基于Qt开发的程序,想实现slider设置亮度失败后恢复之前的位置,设置亮度失败会弹窗提醒,结果出现了频繁点击一直弹窗的问题。用blockSignals、QTimer::singleshot、开线程对slider进行setValue都还是同样问题,翻了stack...
2020-03-26 09:27:02 5260 1
原创 CTreeCtrl 收起某个节点并判断是否已收起
框架:MFC需求:收起某个节点,然后判断改节点是否已收起问题:收起节点后判断节点是否收起无效m_treeDev.Expand(m_hTreeItemLowLevel, TVE_COLLAPSE);UINT nState = m_treeDev.GetItemState(m_hTreeItemLowLevel, TVIF_STATE);bRet = nState & TV...
2019-12-04 16:32:38 212
原创 unsigned char*转string或QString
在使用libevent开发Http服务接收数据的过程中,发现返回的是unsigned char*,默认的编码UTF-8,如果转为正确的内容呢?1. unsigned char*转stringunsigned char* pBuf = evbuffer_pullup(req->input_buffer, -1);vector<unsigned char> vctB...
2019-11-06 09:37:46 4613
原创 调用sqlite3示例
这是以静态链接lib方式实现的调用,dll方式待更新 1.从官网下载源码https://sqlite.org/download.html我下载的是:2.下载后创建.lib静态库项目,把解压后的文件中的3个扔到新建的项目然后可以直接编译,但是会报错。3.修改项目属性,改为:不使用编译头然后再重新编译4.新建项目sqlite_demo,把sqli...
2019-10-15 11:03:27 251
原创 根据进程ID获取进程绝对路径
参考:http://www.bubuko.com/infodetail-1727473.htmlhttps://blog.csdn.net/weixin_33751566/article/details/93942450// 获取进程路径CString CMFCApplication1Dlg::GetProcessPath(DWORD dwProcessID){ CStr...
2019-10-09 16:28:08 1102
原创 基于MFC实现分栏Splitter
1.效果2.主要代码主界面类:// SplitterDemoDlg.h : 头文件//#pragma once#include "FormViewLeft.h"#include "FormViewRight.h"// CSplitterDemoDlg 对话框class CSplitterDemoDlg : public CDialogEx{// 构造pu...
2019-09-19 16:35:42 1105
原创 Qt5 QSplashScreen实现程序启动画面和动画
1.效果2.代码#include "mainwindow.h"#include <QApplication>#include <QLabel>#include <QMovie>#include <QSplashScreen>#include <QThread>int main(int argc, char...
2019-09-18 00:01:38 1666
原创 WIN32 根据进程名称关闭进程
#include <windows.h>#include <Tlhelp32.h>#include <sstream>// 根据进程名称获取进程IDDWORD GetProcessIDByName(const TCHAR* pName){ HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNA...
2019-09-17 16:17:56 873
原创 CMFCTabCtrl 设置选项页的高度
1. 添加类CMFCTabCtrlEx,继承CMFCTabCtrl,然后添加如下方法:void CMFCTabCtrlEx::SetTabsHeight(int nHeight){ m_nTabsHeight = nHeight;}2. 调用SetTabsHeight(30);3. 效果参考:MFC之CMFCTabCtrl 控件的一些消息处理...
2019-08-28 17:59:07 1065
原创 QLineEdit 获得焦点后全选文本
void QLineEditEx::focusInEvent(QFocusEvent* event){ QLineEdit::focusInEvent(event); QTimer::singleShot(0, this, &QLineEdit::selectAll);}
2019-07-31 18:01:06 4437 1
原创 QLineEdit实现可显示密码可隐藏密码
一、效果图二、关键逻辑QLineEditPassword.h#ifndef QLINEEDITPASSWORD_H#define QLINEEDITPASSWORD_H#include <QLineEdit>class QLineEditPassword : public QLineEdit{ Q_OBJECTpublic: ...
2019-07-31 15:53:50 4138 5
转载 Ubuntu环境QT出现: cannot find -lGL 解决
sudo apt-getinstalllibgl1-mesa-dev转载来自:https://blog.csdn.net/vjhghjghj/article/details/88987916
2019-07-07 15:26:29 404
原创 Qt5.5 单实例运行程序
一、概述 基于qtsingleapplication 实现的单实例运行,csdn和其他平台都有相关的帖子,但是大部分qtsingleapplication 的版本没有支持Qt5.5,编译的时候各种报错。 在此呈上最新版的qtsingleapplication 的Git下载地址:git://code.qt.io/qt-solutions/qt-solutio...
2019-07-03 23:40:56 1206
原创 Qt实现简单倒计时
1.效果图2.代码结构3.关键类QWaittingDialog.h#ifndef QWAITTINGDIALOG_H#define QWAITTINGDIALOG_H#include <QDialog>#include <QLabel>#include <QThread>#include <QTimer>...
2019-07-01 23:23:18 8292 3
原创 时间戳和时间字符串互转
#include <iostream>#include <string>#include <iomanip>using namespace std;// 时间字符串转时间戳time_t TimeStringToTimestamp(string strTime){ struct tm tmTime; sscanf(strTime.c_...
2019-06-10 16:49:33 3437 3
原创 SQLite 外键约束删除不完整
问题描述:使用SQLite删除具有约束关系的主表数据时,从表的数据没有删除!!!解决方式:打开数据库后,需要执行语句:"PRAGMA foreign_keys = ON;"即:sqlite3_exec(m_pSqlite3, "PRAGMA foreign_keys = ON;", nullptr, nullptr, nullptr);...
2019-05-22 08:56:48 1985
转载 QSlider 点击移动到该位置
转载来自https://blog.csdn.net/what951006/article/details/51507801ui->horizontalSliderBrightness->installEventFilter(this);bool QLedDisplayCommonTabWidget::eventFilter(QObject* watched, QEvent...
2019-05-17 15:13:12 2128 1
原创 QComboBox 设置默认文本为空
当QComboBox添加了许多item之后,显示时会默认选中第一个item,如果我想默认一个都不选中,即显示为空呢?解决方式如下:ui->comboBox->setCurrentIndex(-1);...
2019-05-17 14:19:33 11801 2
转载 QT 多种状态的背景图片, 放在同一张图上, border-image 进行分割,拉伸
https://blog.csdn.net/li235456789/article/details/50435613
2019-05-07 13:51:55 687
原创 Ubuntu Qt 安装雅黑Consolas
字体下载:https://download.csdn.net/download/shaoyiju/11151823教程:https://www.cnblogs.com/jiqing9006/p/9021756.html
2019-04-29 17:57:57 834
原创 Qt mouseMoveEvent不响应
参考:https://blog.csdn.net/weixin_42781353/article/details/822613391. 如果是普通的QWidget,需要在构造函数添加如下内容:setMouseTracking(true);2. 如果是MainWindow ,则需要在构造函数添加如下内容:setMouseTracking(true);ui->...
2019-04-25 16:25:46 4366
转载 QTreeWidget 节点重命名
https://blog.csdn.net/hudfang/article/details/45060941
2019-04-25 08:38:22 2445
原创 QMenu实现圆角效果
void MainWindow::contextMenuEvent(QContextMenuEvent* event){ QMenu menu; // 关键的两行代码 menu.setWindowFlags(Qt::FramelessWindowHint); menu.setAttribute(Qt::WA_TranslucentBackground); ...
2019-04-24 16:07:55 1850 1
原创 QTreeWidget 设置节点选中图标
QTreeWidgetItem* pTreeItem = nullptr; pTreeItem = new QTreeWidgetItem(ui->treeWidget, QStringList(QString("000"))); QIcon icon; icon.addPixmap(QPixmap(":/treeitem_screen_selected....
2019-04-23 10:43:45 7144
转载 隐藏QTabWidget的标签头
转载来自:https://blog.csdn.net/imred/article/details/78828828隐藏tabwidget上的tab标签有如下两种方式。方式一是亲测可以实现的,方式二是在网上看的说可以实现。方式一:ui.tabWidget->findChildren<QTabBar*>().at(0)->hide(); 方式二:注...
2019-04-19 09:20:37 9147
原创 time_t 在英文操作系统获取的当前时间戳不对
问题:time_t在英文操作系统且系统时区为东八区之前的时区,获取的“当前时间戳”比实际当前时间戳少了3600秒代码如下:方式一是有bug的方法方式二是正常的方法// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <string>#include <iost...
2019-04-07 17:58:43 1775
原创 VS2017开发基于Boost的Linux项目编译报错:对‘boost::system::system_category()’未定义的引用
问题:1>C:\Users\Administrator\Desktop\LinuxCmdDemo\LinuxBoostTcpClient\obj\x64\Debug\main.o:在函数‘boost : error : system::error_code::error_code()’中:1>/usr/local/include/boost/system/error_code.h...
2019-02-14 13:51:07 5365
原创 获取当前系统登录用户名(包括以管理员权限启动也能获取到)
当程序以管理员权限启动后,如果需要获取当前系统登录非管理员用户名,大部分方法(如 GetUserName)获取到的都是管理员的用户名,以下是获取当前登录用户方法。直接上代码:#include <windows.h>#include <WtsApi32.h>#pragma comment(lib, "WtsApi32.lib")#include <str...
2019-01-24 14:56:03 11203 1
转载 EnumChildWindows枚举所有子窗口缺漏的问题
EnumChildProc callback functionAn application-defined callback function used with the EnumChildWindows function. It receives the child window handles. The WNDENUMPROC type defines a pointer to this ...
2019-01-10 14:03:26 1223
WaitingDemoV1.1.zip
2019-09-09
仿百度汉字拼音搜索
2018-11-08
C++发送邮件客户端源码
2018-08-13
串口TCP测试工具(.exe)
2018-07-09
QCheckBoxTableWidget.zip
2020-11-10
libfcitxplatforminputcontextplugin.so
2020-03-31
UProcess.zip
2019-11-22
Qt调用libmpv播视频画面全白
2023-10-27
log4cplus的配置文件有办法不暴露出去吗?可以通过代码配置吗?
2018-06-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人