摘要:
1、可以在微软官网下载软件图标库,地址:https://www.microsoft.com/en-us/download/details.aspx?id=35825 2、下载完成后,解压,可以看到完整的图片资源,以VS2015为例 3、打开PDF,根据关键词查找 4、点击右侧的Folder超链接,即
阅读全文
posted @ 2026-09-04 17:30
StationaryTraveller
阅读(24)
推荐(0)
摘要:
1. 核心原因:INTEGER PRIMARY KEY 是 ROWID 的“唯一门牌号” 在 SQLite 中,除 WITHOUT ROWID 表外,每一张表都有一个隐藏的 64 位有符号整型列,名叫 ROWID。这个 ROWID 自带自增功能,且插入数据时如果不指定,它会自动分配。 SQLite
阅读全文
posted @ 2026-07-13 11:42
StationaryTraveller
阅读(22)
推荐(0)
摘要:
使用QT_TR_NOOP宏,看例子 QString getText(OperationStateEnum state) { static std::map<OperationStateEnum, const char*> data = { {OperationStateEnum::UNKNOW, Q
阅读全文
posted @ 2026-04-03 15:56
StationaryTraveller
阅读(58)
推荐(0)
摘要:
#include "afxwin.h" #include "afxcmn.h" // CModelProgressDlg 对话框 class CModelProgressDlg : public CDialogEx { DECLARE_DYNAMIC(CModelProgressDlg) publi
阅读全文
posted @ 2025-11-05 16:19
StationaryTraveller
阅读(46)
推荐(0)
摘要:
在目标目录下打开everything,全词匹配搜索:*\*.vcxproj content:PostBuildEvent 在搜索结果中批量打开vcproj文件,批量替换“PostBuildEvent”为“PreBuildEvent” 注意:某些vcproj文件,可能已经存在空的PreBuildEve
阅读全文
posted @ 2025-11-03 10:27
StationaryTraveller
阅读(27)
推荐(0)
摘要:
SendMessage(WM_COMMAND, MAKEWPARAM(IDC_BUTTON_UPDATECRC, BN_CLICKED), (LPARAM)GetDlgItem(IDC_BUTTON_UPDATECRC)->m_hWnd); 这是一句典型的MFC(Microsoft Foundati
阅读全文
posted @ 2025-09-26 15:48
StationaryTraveller
阅读(88)
推荐(0)
摘要:
#include <Windows.h> // 写入剪贴板 void CopyToClipboard(const char* pData, int length) { if (OpenClipboard(NULL)) { UINT uFormat = RegisterClipboardFormat(
阅读全文
posted @ 2025-08-01 09:43
StationaryTraveller
阅读(36)
推荐(0)
摘要:
翻译文件路径:C:\Qt\6.7.2\msvc2019_64\translations\qtbase_zh_CN.qm拷贝至程序的qm文件目录 QTranslator加载,qApp安装installTranslator
阅读全文
posted @ 2025-07-01 13:35
StationaryTraveller
阅读(69)
推荐(0)
摘要:
1.选择源仓库,选中具体版本,点击"Create branch/tag from revision"。 2.在To path中填写新的分支名称,并写上log,点击OK 3.查看分支 在上一步的destination url就是仓库地址
阅读全文
posted @ 2025-07-01 11:36
StationaryTraveller
阅读(76)
推荐(0)
摘要:
1、打开Qt维护工具 选择对应的Qt版本,比如5.15.2,取消不需要的组件。如果没有显示老版本,请勾上Archive,点击“筛选”,例如下图所示 2、等待安装完毕即可,这是Qt安装目录下将会看到有多个版本。 注:注意的是如果在线安装速度较慢,请切换国内镜像服务。方法是打开cmd,执行以下命令: 1
阅读全文
posted @ 2025-03-01 02:56
StationaryTraveller
阅读(1040)
推荐(0)
摘要:
报错接口位于user32.dll和d3d12.dll 原因:Qt6依赖于Windows 10 1809及之后版本引入的新API或功能。如果程序使用了这些新特性,而在较旧的Windows版本上运行,就会导致兼容性问题。 解决方法: 1、降低Qt版本,例如使用Qt5 2、升级操作系统
阅读全文
posted @ 2025-02-20 10:49
StationaryTraveller
阅读(278)
推荐(0)
摘要:
1、根据操作系统制作一个PE系统U盘。例如,使用老毛桃工具。 2、设置电脑从U盘启动,进入PE系统。 3、执行‘密码清除工具’。 4、重启系统,设置电脑从硬盘启动。
阅读全文
posted @ 2025-02-18 15:29
StationaryTraveller
阅读(80)
推荐(0)
摘要:
class idleDectector : public QObject { Q_OBJECT public: explicit idleDectector(QObject *parent = nullptr); ~idleDectector(); signals: void idle(); pro
阅读全文
posted @ 2025-01-20 14:17
StationaryTraveller
阅读(114)
推荐(0)
摘要:
多次调用CMFCToolTipCtrl的AddTool会导致程序内存不断增加,尤其在循环中,因此需要AddTool之前,先进行判断,如果新文本与旧的不相同,才添加,并且添加之前先删除。需要注意的是,提示文本支持最大长度是MAX_TIP_TEXT_LENGTH.该宏在tooltip.cpp line:
阅读全文
posted @ 2024-12-25 18:05
StationaryTraveller
阅读(61)
推荐(0)
摘要:
CBitmap、CBrush、CFont、CPalette、CPen、CRgn均继承自CGdiObject,GDI对象属于CGdiObject,该类的析构函数会释放GDI对象。因此,如果CPen等GDI对象在栈上创建,则不必要显式调用DeleteObject,如果在堆上创建,则在特定时刻需要删除它,
阅读全文
posted @ 2024-12-25 14:20
StationaryTraveller
阅读(125)
推荐(0)
摘要:
1、子类化QListWidget class ToolStoreListWidget : public QListWidget { Q_OBJECT public: explicit ToolStoreListWidget(QWidget *parent = nullptr); protected:
阅读全文
posted @ 2024-12-06 11:10
StationaryTraveller
阅读(203)
推荐(0)
摘要:
1、获取当前ProcessID。 GetCurrentProcess 2、执行cmd或PowerShell cmd:wmic process where "processid=15844" get /format:list PowerShell:Get-Process -id 15844 | For
阅读全文
posted @ 2024-12-02 19:08
StationaryTraveller
阅读(264)
推荐(0)
摘要:
#include <vector> #include <iostream> //定义命令接口 class Command { public: virtual void execute() = 0; virtual void undo() = 0; }; //实现“增加”命令类 class Incre
阅读全文
posted @ 2024-11-15 14:26
StationaryTraveller
阅读(86)
推荐(0)
摘要:
double getAverage(const std::vector<double>& data) { double avg = 0; for (size_t i = 0; i < data.size(); ++i) { avg = avg + (data[i] - avg) /(i + 1.0)
阅读全文
posted @ 2024-07-12 14:03
StationaryTraveller
阅读(110)
推荐(0)
摘要:
std::string bytes2string(const char* bytes, const int length) { std::stringstream ss; ss << "\n"; for (int i = 0; i < length; ++i) { ss << std::hex <<
阅读全文
posted @ 2024-06-18 16:23
StationaryTraveller
阅读(85)
推荐(0)
摘要:
Pimpl(Pointer to implementation)是一种C++编程技术,用于将类的实现细节与其接口分离。通常情况下,类的实现细节会暴露在类的头文件中,这会增加代码的复杂性并使得类的修改和维护变得困难。使用Pimpl技术,可以在类的头文件中只暴露必要的接口,而将具体实现细节放在单独的实现
阅读全文
posted @ 2024-04-26 08:57
StationaryTraveller
阅读(160)
推荐(0)
摘要:
template<typename T> class Singleton { public: static T& GetInstance() { static T instance; return instance; } virtual ~Singleton() { } Singleton(cons
阅读全文
posted @ 2024-04-16 08:51
StationaryTraveller
阅读(42)
推荐(0)
摘要:
最近的一个项目,需要支持多国语言,即中、英、俄,以下是两种实现方式: 为了脚本简约,提前定义两个变量,分别用来存放qm和ts文件 set(TRANSLATIONS_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/translations)set(LANGUAGES_DIREC
阅读全文
posted @ 2024-04-09 16:24
StationaryTraveller
阅读(399)
推荐(0)
摘要:
要在MFC对话框中处理ESC和ENTER消息,避免对话框退出,您可以重写对话框类的PreTranslateMessage函数,并在该函数中处理这些消息。 首先,打开对话框类的头文件(.h文件),添加以下声明: afx_msg BOOL PreTranslateMessage(MSG* pMsg);
阅读全文
posted @ 2024-01-29 13:51
StationaryTraveller
阅读(462)
推荐(0)
摘要:
在实际项目中,一套代码可能对应多个版本(定制),不同的版本显示不同的软件图标。如何修改软件图标?现将方法整理如下: 1.不同版本,在项目属性-》C/C++-》预处理器-》预处理器定义,定义各自的预编译开关。假如有三个项目,分别为:_OEM_A,_OEM_B,_STANDARD_。 2.在项目属性-》
阅读全文
posted @ 2024-01-12 10:06
StationaryTraveller
阅读(86)
推荐(0)
摘要:
#include <regex> using namespace std; bool IsHexDigit(const TCHAR* s) { TCHAR* pattern = _T("^0[xX][0-9A-Fa-f]+$|^[0-9A-Fa-f]+$"); #ifdef UNICODE std:
阅读全文
posted @ 2023-12-28 10:36
StationaryTraveller
阅读(256)
推荐(0)
摘要:
1.窗口上拖一个Edit控件,并将Visible设置为False 2.OnInitDialog为Edit设置父窗口为CListCtrl m_edit.SetParent(&m_lstRecord); 设置父窗口非常关键,因为后续Edit需要MoveWindow,而列表控件GetSubItemRect
阅读全文
posted @ 2023-12-25 15:52
StationaryTraveller
阅读(565)
推荐(0)
摘要:
最近开始学习Qt(趟坑),买了一本《C++ GUI Qt 4编程》,照着书上的例子做,第一个就报编译不过,报错信息:'QApplication' file not found 查了下Qt助手, 使用qmake,需要加一句:QT += widgets 原因在于QApplication在Qt6中被放在了
阅读全文
posted @ 2023-12-20 17:04
StationaryTraveller
阅读(1924)
推荐(0)
摘要:
实现了一个CStrCvt类,主要进行宽字符和多字节相互转换,采用STL实现。注意的是,在多字节转宽字符(s2ws)和宽字符转多字节(ws2s)函数中需要locale信息,在使用过程中,需要根据实际情况进行设置。如果有需要可以检测文本编码,网上有开源的第三方库,可供使用。不过,准确率需自己判断。为了不
阅读全文
posted @ 2023-12-12 15:31
StationaryTraveller
阅读(596)
推荐(0)
摘要:
使用WritePrivateProfileString写ini文件,在中文操作系统下写中文,没有问题,在俄文操作系统下,中文乱码。由于工程是Unicode,因此实际调用的是WritePrivateProfileStringW,而非WritePrivateProfileStringA。但是查看ini文
阅读全文
posted @ 2023-11-30 10:42
StationaryTraveller
阅读(1259)
推荐(0)
摘要:
前段时间,碰到了一个奇怪的事情,我实现了一个读某文件的类,原本这个文件是以二进制写的,读的时候没太在意,将模式少写了一个“b”,变成了文本模式 _tfopen_s(&pFile, m_file, _T("r")) 测试了好些文件都没有问题,直到有一天,一同事反应读取函数有问题,数据被截断了。我看了半
阅读全文
posted @ 2023-11-30 10:17
StationaryTraveller
阅读(210)
推荐(0)
摘要:
CFile类的Open函数有CFile::modeNoTruncate模式,该模式是非截断的意思,再配合CFile::modeCreate,意味着如果文件不存在,则创建,如果文件存在,则不会将文件内容清空。当对文件进行追加写入时,有一个小细节,就是打开文件模式中虽然添加了这两种OpenFlag,但是
阅读全文
posted @ 2023-11-29 15:22
StationaryTraveller
阅读(939)
推荐(0)
摘要:
1.使用宇宙最强IDE,VS打开dmp文件。 2.在SVN上下载对应版本的PDB文件。(版本管理的重要性) 3.点击“设置符号路径”,设置上一步下载的PDB文件目录,注意勾选“除排除模块之外的所有模块” 4.调试 5.选择对应版本的代码源文件 执行上一步之后会弹框,此时的源文件是构建软件时的路径,请
阅读全文
posted @ 2023-03-10 11:19
StationaryTraveller
阅读(1392)
推荐(1)
摘要:
std::vector<std::pair<CTime, CTime>> YearOfWeek(int year) { std::vector<std::pair<CTime, CTime>> weekInfo; weekInfo.reserve(60); CTime time(year, 1, 1
阅读全文
posted @ 2022-12-05 10:55
StationaryTraveller
阅读(138)
推荐(0)
摘要:
#ifdef _UNICODE std::wofstream os; #else std::ofstream os; #endif 请设置: os.imbue(std::locale("chs")); 或存为utf-8: std::locale utf8(std::locale("C"), new
阅读全文
posted @ 2022-07-25 18:06
StationaryTraveller
阅读(327)
推荐(0)
摘要:
程序调用CreateProcess总是报非法访问,类似这样调用: BOOL fSuccess = CreateProcess(NULL, command, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi); 调了半天不知道什么原因
阅读全文
posted @ 2022-04-16 02:09
StationaryTraveller
阅读(137)
推荐(0)
摘要:
今天看到有人说20211202这一天很特殊,想起刚学编程那会求某一范围内的回文数。今天闲来无事,计算了一下本世纪的回文日期,发现只有12个,今天已经是第5个了。 实现思路,由于年份是回文,因此最后两位是月份,前两位是日期,为了分析方便,我们将年份的四位分别提取出来,从左到右依次为n1~n4,分析如下
阅读全文
posted @ 2021-12-02 13:22
StationaryTraveller
阅读(245)
推荐(0)
摘要:
// roptestView.h : CroptestView 类的接口 // #pragma once class CroptestView : public CView { protected: // 仅从序列化创建 CroptestView(); DECLARE_DYNCREATE(Cropt
阅读全文
posted @ 2021-09-18 17:24
StationaryTraveller
阅读(209)
推荐(0)
摘要:
ON_NOTIFY(HDN_DIVIDERDBLCLICK, 0, &CXXX::OnHdnDividerdblclickListData) void CXXX::OnHdnDividerdblclickListData(NMHDR *pNMHDR, LRESULT *pResult) { LPNM
阅读全文
posted @ 2021-09-17 16:14
StationaryTraveller
阅读(254)
推荐(0)
摘要:
Dialog-Box Item Functions CheckDlgButton Places a check mark next to or removes a check mark from a button control. CheckRadioButton Checks the specif
阅读全文
posted @ 2021-09-17 15:34
StationaryTraveller
阅读(145)
推荐(0)