- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 实现自己的跨平台屏幕缩放解决方案。获取屏幕DPI信息和根据DPI计算缩放比率的思路对开发高DPI支持的应用,单一程序开启
对于其他平台,先检查是否已经计算过缩放比率rt。如果没有,则获取屏幕HDC,使用GetDeviceCaps获取屏幕DPI信息LOGPIXELSX。然后计算出缩放比率:屏幕DPI除以默认DPI 96。如果计算出的缩放比率大于1,则进一步将其缩小到0.8倍,因为过高的缩放比率会使界面变得很大。//这里缩小了缩放比率,因为1.5倍或2倍会变得特别大。这段代码实现了跨平台获取屏幕DPI缩放比例的功能。其他平台(主要是Windows)获取屏幕DPI,并计算出缩放比率。macOS平台直接返回1.0,不做缩放。
2023-05-09 10:44:06 316
原创 C++面试题-----C++基础知识篇(补充)
tdcall、stdcall、pascall是什么?C++默认是哪种?__cdecl、__stdcall是声明的函数调用协议。主要是传参和弹栈方面的不同。__cdecl:一般c++用的是__cdecl函数参数按照从右到左的顺序入栈由调用函数者把参数弹出栈以清理堆栈PS:那么为什么还需要_cdecl呢?当我们遇到这样的函数如fprintf()它的参数是可变的,不定长的。__stdcall:windows里大都用的是__stdcall(API)函数参数按照从右到左的顺序入栈被调用的函数在返回前清
2022-05-12 17:46:26 315
原创 C++面试题-----Qt篇
C++面试题-----Qt基础知识Qt信号与槽Qt信号与槽的优势和不足自定义信号槽注意事项:信号槽的多种用法:TCP/UDP描述Qt下Tcp通信的整个流程描述QT下udp通信的整个流程多线程描述QT下多线程的两种使用方法, 以及注意事项多线程下,信号槽分别在什么线程中执行,如何控制Qt多线程同步的几种实现方式智能指针Qt的d指针和p指针QVariant使用实例问题继承与派生继承与派生的区别单继承与多继承三种继承方式 公有继承,私有继承和保护继承Qt4和Qt5的区别Qwidget、Qobejct实现了哪些功能
2022-05-12 16:07:34 4564
原创 $的符号的作用
$的符号在在不同的地方,它所代表的定义会有所不同。例如,在bash中,$符号表示当前用户是普通用户;在bash脚本中。$从一个变量开始。例如,以下是一些特殊变量:$表示参数的数量$0是脚本本身的名称$1是传递给shell脚本的第一个参数$2是传递给shell脚本的第二个参数$@表示所有参数,并且所有参数都是独立的$是正在运行的脚本的当前进程ID号$# 表示参数个数$$ 是脚本运行的当前进程ID号$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误...
2021-06-21 12:05:19 1659
原创 QTextBrowser控件find功能
QTextBrowser控件的使用,显示一个富文本。find(QString);查找到的字符串高亮显示。
2021-06-19 18:29:47 693
原创 操作系统的认识
UnionTech OS:中国的Windows等效系统Kylin:银河麒麟,开源服务器操作系统。2010年两大国产操作系统:民用的“中标linux”操作系统和解放军研制的“银河麒麟”操作系统在上海正式宣布合并,双方今后将共同以“中标麒麟”的新品牌统一出现在市场。...
2021-06-10 10:41:54 1020 1
原创 QSet的作用
QSet文档介绍QSet fileSet;假如要将给定几个路径检测出的所有文件都放入容器里,而路径存在包含关系,如:/home/gpy和/home/gpy/files,则容器里不会重复包含一个文件名如果要将fileSet当做一个链表去遍历,可以使用QStringList list = fileSet.toList()来使用...
2021-06-09 09:22:58 500
原创 Qt教程以及QString的使用
Qt教程1Qt是什么2Qt和其它GUI库的对比3学习QML还是C++4Qt下载5Windows下安装Qt6Linux下安装Qt7解决cannot find -lGL错误8解密Qt安装目录的结构9Qt用到的开发工具10Qt编程涉及的术语和名词11Qt Creator的初步使用12第一个Qt程序13VS中使用Qt14Qt项目管理文件(.pro)15Qt项目界面文件(.ui)16Qt项目中的main主函数17Qt界面布局管理18Qt信号与槽机制19Qt纯代码设计UI实例分析
2021-05-18 14:02:00 311
原创 C/C++语言函数
1、freadsize_t fread( void *buffer, size_t size, size_t count, FILE *stream );//C99前size_t fread( void *restrict buffer, size_t size, size_t count, FILE *restrict stream );//C99起从给定输入流stream读取最多count个对象到数组buffer中(相当于以对每个对象调用size次fgetc),把buffer当作unsigned
2021-05-14 09:12:02 1731
原创 QString转LPTSTR
LPTSTR是一个wchar_t类型的指针LPTSTR str = (wchar_t *)str_lp.utf16(); //unicode编码所以是utf16
2021-04-23 00:19:32 327
原创 QListView
如何获取QListView选中行的值 QStringListModel *model = qobject_cast<QStringListModel *>(ui->m_lvResult->model()); QModelIndexList modelIndexList = ui->m_lvResult->selectionModel()->selectedIndexes(); str_list.clear(); foreach (QM
2021-04-22 19:31:11 118
原创 qt lsitview的显示
1.使用前必须初始化(即使用预定义模型),这里利用QStringListModel进行初始化,Qt还支持其他不同Model对listview进行初始化。QStandarItemModel也可以,但是对于list不太友好 QStringListModel *model; QStringList list; list.push_back(strTar); //strTar是一个QString类型的 model = new QStringListModel(this); mode
2021-04-09 20:27:53 152
原创 读取Excel表格
读取一个Excel表格显示在listview中(listview显示方法) 下面是获取excel的方法,但是此方法有一点不适合是因为速度特别慢void Widget::ScanFile(QString strPath, QString strText){ QAxObject *excel = new QAxObject(this); excel->setControl("Excel.Application"); //链接Excel控件 excel->
2021-04-09 10:08:10 167
完成listWidget样式和右键鼠标事件,QWidget添加一个widget以及listWidgetItem添加widget
2022-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人