qstring

Qt知识点汇总

邮差的信 提交于 2019-12-26 08:27:53
长期补充更新…… 文章目录 快捷键 Qt Creator使用 样式表 Qt获取CPU编号和硬盘序列号 快捷键 Alt+shift+R 界面预览 Qt Creator使用 属性生成 QtCreator可以自动生成get、set函数以及change信号的。只要写上Q_PROPERTY那一行,光标放在Q_PROPERTY上, 用右键菜单 -> Refactor -> Generate Missing Q_PROPERTY Memory 即可生成。也可以使用快捷键,光标放在Q_PROPERTY上,按Alt + Enter。 代码格式化 QtCreator提供了一个Beautifier插件,用于加载外部工具(Artistic Style、ClangFormat、Uncrustify)对代码进行格式化。 样式表 程序运行时属性值变化后 QSS 不会自动生效,需要调用 widget->setStyleSheet("/**/") 或者 widget->style()->polish(widget) 强制刷新 QSS 。 Qt获取CPU编号和硬盘序列号 getWMIC ( const QString & cmd ) { //获取cpu名称:wmic cpu get Name //获取cpu核心数:wmic cpu get NumberOfCores //获取cpu线程数:wmic cpu get

Qt学习之路_14(简易音乐播放器)

泄露秘密 提交于 2019-12-25 22:47:40
   前言   这一节实现一个简易的音乐播放器,其音乐播放的核心功能是采用Qt支持的Phonon框架,该框架在前一篇博文 Qt学习之路_13(简易俄罗斯方块) 中已经使用过了,在俄罗斯方块中主要是用来设置背景音乐和消行的声音的。这里用这个框架同样是用来播放,暂停等多媒体的各种控制功能,另外该框架可以自动获取音频文件的一些信息,这样我们在设计播放列表时可以获取这些信息,比如歌手名,专辑名,时长,文件名等等。程序中桌面歌词的实现是继承了QLabel类,然后使用3层文本显示,最上面一层采用渐进显示的方式来达到歌词播放的动态效果。   实验的参考资料为 http://www.yafeilinux.com/ 网站上yafei作者提供的代码,本人只是看懂其源码然后自己敲了一遍,代码做了稍微的改变,其设计方法和技巧全是原创作者yafei的功劳。   开发环境:WindowsXP+Qt4.8.2+QtCreator2.5.1       实验说明   本实验没有使用QtDesigner来设计界面,其界面而是直接采用c++代码来写的。下面分以下几个方面来介绍本实验的实现过程中应该注意的知识点:    播放界面设计部分:   因为主界面的设计是从QWidget类继承而来,但是本程序却没有使用界面设计工具来设计界面,而是直接使用c++代码完成。   在界面设计时,首先一般是设置窗口的标题,尺寸,图标等

QT开发之旅二TCP调试工具

不想你离开。 提交于 2019-12-25 21:24:46
TCP 调试工具顾名思义用来调试 TCP 通信的,网上这样的工具 N 多,之前用 .NET 写过一个,无奈在 XP 下还要安装个 .NET 框架才能运行,索性这次用 QT 重写,发现 QT 写 TCP 通信比 .NET 还要便捷一些,运行效率貌似要高,还能识别客户端断开,这个真神奇,除了断电之外。 项目名称: TCP 调试工具 开发环境: WIN7+QT4.7+QT CREATOR2.8+MINGW 技术实现:通过 QTcpServer 和 QTcpSocket 类,解析协议并作出处理 实现功能: ASCII 格式和 16 进制数据收发,支持多个客户端收发消息,可以指定客户端发送消息,动态增加和移除已连接客户端。 运行截图: 粗略步骤: 第一步:添加主界面,布局好主界面,并命名好控件,例如服务端的清空按钮命名为 btnClearServer ,客户端的清空按钮命名为 btnClearClient 。 第二步:编写服务端中客户端通信类,服务端可以接受多个客户端的连接,这里采用了同步通信机制,先编写 myTcpClient 类,封装了客户端连接断开接收数据的操作。具体代码如下: myTcpClient.h #ifndef MYTCPCLIENT_H #define MYTCPCLIENT_H #include <QTcpSocket> class myTcpClient :

QT学习笔记 QDataStream类

亡梦爱人 提交于 2019-12-25 19:54:41
对于QDataStream的使用,最初是为了通过qt读取文件,然后下载到其他设备。QDataStream提供了一种通过二进制数据流来直接读取文件的方式,读取之后可以写入到其他地方,解析之后将数据下发出去。这里要注意的是,读出来的二进制文件没有任何编码,事实上根本没有经过编码,压根就没有数据类型转换的过程。如果通过这种方式读取文件,为了能让人读懂内容必须要转换成其他类型,包括:char、short、int、char*等。 我们先来看一下如何通过QDataStream来读取文件, QFile aFile("file.dat"); //定义一个文件,file.dat char* temData = new char[200]; if (!(aFile.open(QIODevice::ReadOnly)))//用只读的方式打开文件 return false; QDataStream aStream(&aFile); //定义一个数据流,指向file.dat aStream.readRawData(temData, 200);//读取数据,存入temData 实际上,读取的方法还有一种,就是直接从流里面读取出来,参照豆神的教程,可以这么写: QFile aFile("file.dat"); //定义一个文件,file.dat QString str; qint32 tem; if (!

Qt中文显示

╄→гoц情女王★ 提交于 2019-12-25 07:30:58
来自 http://lwr0312.blog.163.com/blog/static/483368072010103001811552/ QT默认的编码(unicode)是不能显示中文的,可能由于windows的默认编码的问题,windows默认使用(GBK/GB2312/GB18030),所以需要来更改QT程序的编码来解决中文显示的问题。 QT中有专门的一个类来处理编码的问题(QTextCodec)。 在QT3中,QApplication可以设置程序的默认编码,但是在QT4中已经没有了该成员函数。 可以以下的这些方法来设置编码。 1. 设置QObject的成员函数tr()的编码。 QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK")); 其中的codecForName函数是根据参数中的编码名称,在系统已经安装的编码方案中需找最佳的匹配编码类型,该查找是大小写不敏感的。如果没有找到,就返回0。 具体的转换代码看下面: #include <QApplication> #include <QTextCodec> #include <QLabel> int main(int argc,char *argv[]) { QApplication app(argc,argv); QTextCodec::setCodecForTr

Qt QString cloning Segmentation Fault

眉间皱痕 提交于 2019-12-24 12:09:50
问题 I'm building my first Qt app using Qt Creator, and everything was going fine until I started getting a strange SIGSEGV from a line apparently harmless. This is the error: Program received signal SIGSEGV, Segmentation fault. 0x0804e2fe in QBasicAtomicInt::ref (this=0x0) at /usr/lib/qt/include/QtCore/qatomic_i386.h:120 By backtracing the exception on gdb , I found that a simple getter is passing a NULL pointer to the clone constructor when I return my attribute. Backtrace output: (gdb)

Python/PyQT QString won't insert into MySQL database

爱⌒轻易说出口 提交于 2019-12-24 08:38:44
问题 I am trying to trying to retrieve some values from a user using a QLineEdit widget. When a QPushButton raises a clicked event, I want the text to be retrieved from all QLineEdit widgets and stored in a local MySQL databaase. However, when I try to use string substition in the insert statement, the values don't get substituted. Here's my sql statement: sql = 'INSERT INTO jobs (incident_id, organization, organization_poc, media_type) VALUES ("%s", "%s", "%s", "%s")' % (self.edi_IncidentID.text(

【Qt】2019-2020学期项目总结

一曲冷凌霜 提交于 2019-12-24 04:09:57
目录 整体项目截图 1.实现一个简单的登录界面 2.实现主窗口 3读取txt格式文件,生成树图目录 4项目所有代码如下: 整体项目截图 其中resource里面放的是背景图.jpg文件和生成目录树的.txt文件,这些文件可以自定义 1.实现一个简单的登录界面 功能: ①包含用户名、密码、文件目录、跳转界面按钮 ②当点击一个按钮式时可以跳转到主界面mainwindow 效果如图: 2.实现主窗口 功能: ①当点击菜单栏里的relogin时,可以重新返回登录界面更改用户名 ②设置状态栏,在状态栏可以显示当前的时间以及用户名 ③设置listwidget,实现数据的传递,左移所有数据,左移当前行,右移所有数据,右移当前行 ④设置子界面,当点击按钮时跳转到子界面dialog,实现生成树图的功能 效果如图: 3读取txt格式文件,生成树图目录 功能: ①由主界面跳转得来,读取.txt文件,利用 TreeWidget 实现生成文件夹目录树 效果如图: 4项目所有代码如下: login.h #ifndef LOGIN_H #define LOGIN_H #include <QDialog> #include <QLineEdit> #include <QGridLayout> #include <QPushButton> #include <QFileDialog> #include

PyQt : data is not JSON serializable

雨燕双飞 提交于 2019-12-24 01:17:01
问题 I am new to PyQt GUI. I want to get the data of a QLineEdit text box, and for that I am using the text() method. I am getting the data, but the data type is a QString . I need to transmit this as json data to a server, and for that I am using the json.dumps() method - but I get an error. import sys from PyQt4.QtCore import * from PyQt4.QtGui import * import pygame.camera import pygame.image import json app = QApplication(sys.argv) class stackedExample(QWidget): def __init__(self): super

Converting QModelIndex to QString

Deadly 提交于 2019-12-23 09:50:09
问题 Is there a way to convert QModelIndex to QString? The main goal behind this is that I want to work with the contents of dynamically generated QListView-Items. QFileSystemModel *foolist = new QFileSystemModel; foolist->setRootPath(QDir::rootPath()); foolistView->setModel(foolist); [...] QMessageBox bar; QString foolist_selectedtext = foolistView->selectionModel()->selectedIndexes(); bar.setText(foolist_selectedtext); bar.exec; Is this even the correct way to get the currently selected Item?