首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt】]Qt5文乱码

升级到Qt5.X之后,原先解决Qt显示中文乱码方法突然不适用了,找了很多方式来解决这个问题 第一种: 在公司代码里看到方法,先将对应cpp文件用windows自带记事本打开,另存为UTF-8格式...,然后在代码,遇到中文字符,使用QStringLiteral("中文")进行修饰 这种方式每次新建一个class就要切出去用记事本编辑一下实在麻烦,而且每个中文字符串都要用QStringLiteral...,实在麻烦 后来有找到了个方法 第二种: 在头文件申明中加上 #pragma execution_character_set("utf-8") 一切OK了 2016-10-8补充 PS:方法2只是用在Qt5...最初某个版本上大概是两三年前某个版本,当初使用是可以解决中文显示问题 最近用Qt5.6 5.7两个版本,这个方法已经不行了。...各位还是继续使用方法1来显示中文字符 —————————————这是一条浪荡分割线————————————————— 2017.3.20更新 专门找了资料,把目前测试能用解决中文字符乱码方法整理一下

3.9K50

Qt5 Json 模块与 JsonCpp 对比

工作中有幸做过关于 Qt5 Json 模块Qt4 移植。做过有关 Qt Json 与 JsonCpp 对比,并做过相关兼容工作。所以着重研究了一下有关 Json 解析器相关内容。...注:大家常说 QJson 其实并不是 Qt 模块,而是在 Qt4 没有 Json 模块年代,一个非官方第三方模块。对于现在 Qt Json 模块,官方称之为 Qt Json。...其实 Qt5 Qt Json 模块代码,写可以说是严格按照 ECMA-404 协议解析范本,没有任何自己画蛇添足逻辑。...工作对 JsonCpp 兼容也只是兼容了 JsonCpp 第1、2条。对 Qt Json 模块只要改 parse 部分。...另外一部分内容就是 Qt5 Json 向 Qt4 移植,这块的话,还是要稍微看一下源码,改动的话需要调整 Qt4 QString 以及 QAtomicInt 一些原子操作,主要是一些琐碎细节,

1.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

Qt源码笔记】简要说说 Qt5 HighDPI 支持

其实在代码中使用这个属性,等于环境开启 QT_AUTO_SCREEN_SCALE_FACTOR 环境变量。还有另外环境变量支持其他 HighDPI 功能。...这个参考文档即可 这里有一个小 tip :HighDPI 只是是根据显示器像素密度来调整大小。在 Qt ,用过 QFont 的人都会知道。...其实里边内容只是一些方法简单包装。只看堆栈调用的话: > Qt5Guid.dll!...至此基本上 Qt HighDPI 支持代码逻辑基本找全。 小瑕疵 上边我提到过代码小瑕疵。就在上边那段代码上。...screen 能正常取到前提是 QGuiApplicationPrivate::screen_list 这个列表是有内容。而这个列表第一次被添加时机堆栈: > Qt5Guid.dll!

2.3K50

Qt学习之路_5(Qt TCP初步使用)

http://www.cnblogs.com/tornadomeet/archive/2012/06/30/2571001.html        在上一篇博文Qt学习之路_4(Qt UDP初步使用)... ,初步了解了Qt下UDP使用,这一节就学习下TCP使用。...当然了,本文还是参考QtQt Quick开发实战精解》一书中5个例子,即局域网聊天工具UDP聊天和TCP文件传送部分。...接收端,也即承担客户端角色操作:          当在主界面突然弹出一个对话框,问是否接自某个用户名和IP地址文件传送信息,如果接受则单击yes按钮,否则就单击no按钮。...,在widget.cpp构造函数connect()触发槽函数 } // 关闭按钮,服务器端关闭按钮 void TcpServer::on_serverCloseBtn_clicked() {

3.3K10

Qt源码笔记】浅谈 Qt 控件绘制

在工作中经常要根据 UI 提供稿子做自绘控件,而且在新项目中,我自己基于 Qt 做了一套项目自用控件库,还会涉及到换肤,所以对 Qt 控件绘制,着重研究了一下。...分类 对于自绘控件分类,我将其分为两大类: 基于 Qt 控件类派生 基于 QWidget 派生 除非是行为跟 Qt 本身控件相差太多,或者是缺少需要交互逻辑,否则的话尽可能从 Qt 现有的控件类派生...所以 initStyleOption 是一个保护方法,如果开发者没有对按钮状态特殊要求,用这个方法,就可以把图标,按钮点击状态什么放进这个 option 。在绘制时候直接拿来用。...话说回来, Qt 正是因为将绘制逻辑都保存在了 style ,所以 Qt 才可以在不同平台都表现像一个原生控件一样,“千平台千面”。 走到这里,就不得不一探 QStyle 究竟了。...里边关于绘制几个方法是纯虚,在绘制方法,通过传进去枚举类型,来找到对应控件绘制逻辑。除了绘制方法,还有一些是计算绘制区域大小方法,以及 hitTest 获取子控件方法。

2.1K40

Qt入门之基础篇 ( 一 ) :Qt4及Qt5下载与安装

C盘。...(5)最后到“构件套件(Kit)”,可以看到已经有一个“桌面(默认)”,这里双击它直接进行设置,名称可以随意设置;下面编译器一项选择前面设置MinGW;最后Qt版本选择前面添加即可,因为调试器还没有配置...(5) 打开上图文件夹Assistant,这是Qt小助手,Qt中所有用到类在这里面都有介绍,也是常用东西之一。 ?...疑问解答: 问:为什么Qt4和Qt5安装分开来讲呢?     ...在Qt4时代,这些东西都是分开,需要开发者们自己动手配置开发环境。而Qt5版本出来之后,将所有需要东西都整合到了安装包,并且环境可以自动配置,为开发者减轻了不少负担。

5.9K10

『PyQt5-Qt Designer篇』| 07 Qt Designer栅格布局和表单布局使用

1 栅格布局1.1 按钮布局拖入几个按钮,如图:图片选中所有按钮,右键点击布局-栅格布局:图片之后可以看到栅格布局效果,类似计算器一样:图片1.2 栅格布局拖入控件先拖动栅格布局到窗口:图片可以拖动按钮到栅格布局...window) window.show() sys.exit(app.exec_())图片2 表单布局2.1 标签+输入控件拖入标签和输入控件,如下:图片选中所有的控件,右键点击布局-在窗体布局...= QtWidgets.QLabel(self.widget) self.label_5.setObjectName("label_5") self.formLayout.setWidget...(4, QtWidgets.QFormLayout.LabelRole, self.label_5) self.lineEdit_5 = QtWidgets.QLineEdit(self.widget...) self.lineEdit_5.setObjectName("lineEdit_5") self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole

64260

Qt信号槽

一、信号槽概念类似于一些其它编程语言或框架回调机制,信号槽是Qt基于C++语法新增特性,使用起来非常方便,可以完成不同对象之间通信。...信号槽使用需要有以下两个条件:通信对象必须**继承自QObject类**,**QObject是Qt所有内置类型基类**。...参数1:**发射者**,发射者是一个对象,此对象发射信号函数,**作为信号槽触发条件。**参数2:**信号函数**,参数1发射者发射出信号函数,**作为信号槽触发条件**。...,Qt不可能内置所有的函数,特别是槽函数,更多情况是需要用户自定义一个槽函数来实现特定功能,这种方式也是最常见一种信号槽连接方式。...,现在讲解无法使用合适案例演示,因此讲解过程并不是最优解,属于强行使用。

29830

『PyQt5-Qt Designer篇』| 08 Qt Designer容器布局和绝对布局使用

1 容器布局1.1 设计容器布局先拖入一个容器Frame容器,然后拖入几个控件:图片把拖入控件拖入容器:图片选中容器,右键-布局-栅格布局:图片1.2 保存文件并执行保存为test007_ConFra.ui...Ui_MainWindow() ui.setupUi(window) window.show() sys.exit(app.exec_())图片2 绝对布局2.1 设计绝对布局直接把控件放到窗口或者容器,...默认就是绝对布局;拖入如下控件:图片2.2 保存文件并执行保存为test008_AbsLay.ui,生成test008_AbsLay.py:# -*- coding: utf-8 -*-# Form...self.textBrowser.setGeometry(QtCore.QRect(390, 180, 253, 191)) self.textBrowser.setFocusPolicy(QtCore.Qt.WheelFocus...(QtCore.Qt.ScrollBarAlwaysOn) self.textBrowser.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents

31140

『PyQt5-Qt Designer篇』| 06 Qt Designer水平布局和垂直布局使用

1 水平布局1.1 按钮布局拖动几个按钮:图片选中这几个按钮,右键-布局-水平布局:图片可以看到按钮间隔等宽水平排列:图片也可从点击窗体-预览,查看布局后效果如下:图片图片1.2 位置移动点击视图-对象查看器...,勾选打开对象查看器;图片图片点击如图所示,就会选中所有的按钮,可以进行拖动按钮位置:图片图片图片图片按钮宽度和高度随着布局变化而变化,但仍然保持等宽等距。...1.3 先布局再放按钮拖动水平布局到窗体:图片可以自行拖动布局大小和位置,然后给布局拖入按钮:图片图片1.4 保存文件并调用保存为HorLay.ui文件,并转为py文件:图片HorLay.py代码如下...= QtWidgets.QPushButton(self.widget) self.pushButton_5.setObjectName("pushButton_5") self.horizontalLayout...= QtWidgets.QPushButton(self.widget) self.pushButton_5.setObjectName("pushButton_5") self.verticalLayout

24530

qt5信号和槽新语法

qt5连接 有下列几种方式可以连接到信号上 旧语法 qt5将继续支持旧语法去连接,在QObject对象上定义信号和槽函数,及任何继承QObjec对象(包含QWidget)。...你需要指定你对象类型、 非常复杂语法,比如重载,参见后面。 在槽默认参数不在被支持。...这个上下文也被使用在线程关联性上: 这个lambda方法将会被调用在对象事件循环线程qt5断开连接 如你可能预期那样,在qt5如何终止连接也会有一些新变化。...错误报告 用GCC测试、 幸运是,IDE能简化函数命名,比如Qt Creator。...但我们不能在我们API,使用STL类型,因此一个qt函数应该被完成当复制一个std::function时。 无论如何,这是和QObject连接是不相关

1.8K70

QT5操作QWidgetItem下集合元素(二)

一、在列表显示目录,界面添加显示目录按钮,对象名称为showDirButton: image.png 二、引入头文件 #include  #include <QListWidgetItem...QListWidget选择编辑项目,操作如图: image.png 四、声明槽函数  private slots:     //显示目录     void showDirSlot();     //单击列表项...    void singleClickedSlot(QListWidgetItem *);     //双击列表项     void doubleClickedSlot(QListWidgetItem...        item->setText(fileNames.at(index));         ui->listWidgetShowView->addItem(item);     } } //单击列表项...QListWidgetItem *item){     QMessageBox::information(this,"信息","single clicked"+item->text()); } //双击列表

78620

qt5信号和槽新语法

qt5连接 有下列几种方式可以连接到信号上 旧语法 qt5将继续支持旧语法去连接,在QObject对象上定义信号和槽函数,及任何继承QObjec对象(包含QWidget)。...你需要指定你对象类型、 非常复杂语法,比如重载,参见后面。 在槽默认参数不在被支持。...这个上下文也被使用在线程关联性上: 这个lambda方法将会被调用在对象事件循环线程qt5断开连接 如你可能预期那样,在qt5如何终止连接也会有一些新变化。...错误报告 用GCC测试、 幸运是,IDE能简化函数命名,比如Qt Creator。...但我们不能在我们API,使用STL类型,因此一个qt函数应该被完成当复制一个std::function时。 无论如何,这是和QObject连接是不相关

2K50
领券