种地日志

「让黑暗与肮脏永远的留在过去」

打开颜色选择框

魔改QT自带的颜色对话框

打开颜色选择框 打开颜色选择框,并设置颜色 1 2 3 4 QColor c = QColorDialog::getColor(Qt::blue); if(c.isValid()){ ui.color_frame->setPalette(QPalette(c)); } 内嵌颜色采集对话框 重写Qdialog类即可,用自己的。 如果需要去掉OK、Calcel按钮,可以...

std::string 声明后直接使用memset报错

stl的使用

std::string 声明后直接使用memset报错 std::string对象生命之后,还没有给数据区分配内存空间,直接使用memset或者memcpy函数操作内容,很容易就会操作到野内存,基本上debug模式下会立即崩溃。 std::string 是 C++ 标准库中的字符串类型,它提供了方便的字符串操作功能。std::string 对象的内存分配和管理由库自动处理,因此不建议使用...

QTreeWidget 文字自动调整行高

树控件中的自动换行效果

QTreeWidget 文字自动调整行高 一行代码可以搞定: 1 2 3 4 5 int labelHeight = (label->fontMetrics().width(str) / ui.treeWidget->columnWidth(1)) == 0 ? label->fontMetrics().height() : (label-...

int转字符串(int转字符串char[])

int转字符串(int转字符串char[]) 在 C++ 中,你可以使用标准库中的函数将整数类型 int 转换为字符数组 char[]。以下是两种常见的方法: 方法一:使用 std::to_string 函数和 c_str 方法: 1 2 3 int num = 12345; std::string str = std::to_string(num); const char* charA...

error C2664

VS编译常见错误

error C2664 error C2664: 不能将参数 1 从“const char [14]”转换为“LPCWSTR” 原因:没有设置多字符集 解决方案: 【属性】->【常规】->【字符集】(选择多字符集) 如果还是编译不能通过,【属性】à【C/C++】à【预处理器】(如果有UNICODE,去掉即可) prsht.h(...

设置QTreeWidget设置节点展开有箭头

设置QTreeWidget设置节点展开有箭头 相关函数 使用setChildIndicatorPolicy函数进行设置。官方文档中描述如下: Sets the item indicator policy. This policy decides when the tree branch expand/collapse indicator is shown. The default...

多文件指针、句柄占用相关问题

多文件指针、句柄占用相关问题 笔记 同时定义很多个文件指针,虽然会使得运行速度变快,但是会占用很多文件句柄,但是句柄资源是有限的,这个时候会出现内存不涨,但程序爆炸的情况。 相关知识 在 Windows 操作系统中,句柄(Handle)是用于标识和访问操作系统资源的一种机制。句柄可以表示各种资源,如窗口、文件、进程、线程等。句柄资源的有限性指的是操作系统对可用句柄数量的限制。 在 ...

使用Qcompleter制作QCombobox的搜索下拉框

使用Qcompleter制作QCombobox的搜索下拉框 要使用 QCompleter 在 QComboBox 中实现搜索下拉框,完整的示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include <QApplication> #include <QCo...

Windows下应用程序打开黑窗口

Windows下应用程序打开黑窗口 使用说明 editbin工具中的 /SUBSYSTEM 选项用于指定可执行文件的子系统类型。以下是一个示例和说明: 示例 1:将可执行文件设置为控制台应用程序(CONSOLE)子系统类型: 1 editbin /SUBSYSTEM:CONSOLE MyExecutable.exe 这将修改名为 MyExecutable.exe 的可执行文件的子系统...

QString中文乱码问题

QString中文乱码问题 乱码问题通常会在有中文的时候出现,有两种写法可以避免乱码: 1 2 QString str1 = QString::fromLocal8Bit("你好"); QString str2 = QStringLiteral("你好"); 通常情况下,需要中文的QString串的时候会使用这两种写法,且比较推荐QStringLiteral宏的方式进行创建 ...