Qt
文章平均质量分 73
五香花生米
这个作者很懒,什么都没留下…
展开
-
Qtcreator中使用git进行版本管理
之前都是在终端使用git,现在很多工程使用Qtcreator开发,发现Qtcreator中也集成了git的功能,所以想尝试配置一下Qtcreator在里面使用git。开始之前在网上找了一些资料,很有用,受到很多的启发,但是实际使用中还是遇到一些问题,所以把自己动手操作的过程整理一下,可以在以后用到的时候查阅,如果能帮助有类似需求的人更好。我的Qtcreator在ubuntu 12.04系统中,代码仓库是放到github上面。1.在ubuntu 12.04中安装git在终端输入下面命令进行在线原创 2020-07-09 11:19:06 · 2157 阅读 · 0 评论 -
Qt进程间通信及简单例子
Qt提供了几种在Qt应用程序中实现进程间通信(IPC)的方式。1. TCP/IP跨平台的QtNetwork模块提供了可以简单实现网络编程的类。它提供了特定的应用层协议通信的高级别的类(像QNetworkAccessManager,QFtp)和低等级的类(像QTcpSocket,QTcpServer,QSslSocket)。Qt4.4以后增加了QLocalServer和QLocalSoc...原创 2020-02-22 23:19:50 · 3398 阅读 · 0 评论 -
Qt实现IP控件
Qt实现IP控件.h#ifndef IPCTRL_H#define IPCTRL_H#include <QFrame>#include <QLineEdit>#include <QIntValidator>#include "stdint.h"#include <QHBoxLayout>#include <QFo...原创 2019-12-18 13:16:57 · 843 阅读 · 0 评论 -
Qt TCP Client
头文件tcpclient.h#ifndef TCPCLIENT_H#define TCPCLIENT_H#include <QObject>#include <QTcpSocket>#include <QDebug>#include "enthernetdataparsing.h"#include "tf500enthernetdatapar...原创 2018-07-16 18:22:03 · 1297 阅读 · 0 评论 -
QTreeWidget中获取行数
一、获取QTreeWidget中的所有可见行的行数int TreeWidgetFocus::treeCount(QTreeWidget *tree, QTreeWidgetItem *parent){ Q_ASSERT(tree != NULL); int count = 0; if (parent == 0) { int topCount = tree...原创 2018-05-24 08:57:55 · 13505 阅读 · 0 评论 -
Qt设置窗口背景图片
setAutoFillBackground(true); QPalette pal = this->palette();// pal.setColor(QPalette::Background, QColor(19, 54, 118)); pal.setBrush(backgroundRole(), QPixmap("/nfsshare/home-backgroun...原创 2018-05-08 17:35:16 · 13534 阅读 · 1 评论 -
Qt之QSS(样式表语法)
转自:https://blog.csdn.net/liang19890820/article/details/51691212简述Qt样式表(以下统称QSS)的术语和语法规则几乎和CSS相同。如果你熟悉CSS,可以快速浏览以下内容。简述样式规则选择器类型子控件伪选择器解决冲突级联效应继承性Namespaces中的部件设置对象属性样式规则QSS包含了一个样式规则序列,一个样式规则由一个选择器和声明组...转载 2018-05-08 09:40:39 · 3743 阅读 · 3 评论 -
QPushButton样式
1.设置按钮背景透明 setStyleSheet("QPushButton{background-color: rgba(18, 62, 111, 200);color:rgb(230, 230, 230);}");设置透明度可以调整rgba最后一个数据的值,其取值范围为(0~255),255为不透明,0为完全透明。这样设置对窗口中所有QPushButton都生效,如果只想设置某个按钮的样式,要加...原创 2018-05-07 16:31:52 · 7748 阅读 · 1 评论 -
虚拟机中安装ubuntu及搭建Qt开发环境
1.安装vmwareplayer。2.安装ubuntu。3.安装vi。sudo apt-get install vim4.安装GCC。sudo apt-get install build-essential5.arm-linux-gcc(64位系统可能需要安装32位兼容库)。sudo apt-get install ia32-libs6.编译tslib#!/bin/bashchmod...原创 2018-08-03 11:52:54 · 1453 阅读 · 0 评论 -
Qt读取ini文件乱码的解决方法
准备用ini文件做多国语言的配置文件,需要将不同国家的语言放到ini文件中,发现把韩语放到文件中读取出来的字符不对。有问题问度娘,经过一段时间的搜索实验找到了解决办法。下面把具体步骤分享一下:1.设置ini文件的编码格式为UTF-82.使用QSettings读取文件时设置文件编码 QSettings settings("/opt/test_lang.ini", QSettin...原创 2018-12-12 17:17:00 · 2394 阅读 · 0 评论 -
Qt中动态数组的对比
在Qt的官方文档上对几种动态数组做了对比介绍。The QVector class is a template class that provides a dynamic array.QVector<T> is one of Qt's generic container classes. It stores its items in adjacent memory locatio...原创 2019-01-17 15:14:03 · 6483 阅读 · 0 评论 -
Copied or Not Copied: Arguments in Signal-Slot Connections?
Copied or Not Copied: Arguments in Signal-Slot Connections?Posted on 2013/06/29 by Burkhard StubertHow often is a an object copied, if it is emitted by a signal as a const reference and received b...转载 2019-01-17 17:07:32 · 232 阅读 · 0 评论 -
嵌入式linux几种播放视频方法
嵌入式linux几种播放视频的方法:交叉编译mplayer、smplayer等软件,移植到嵌入式平台。这种方法在嵌入式平台不能控制窗口位置,不能很好的嵌入到自己程序的窗口中去。但是实现起来应该比较快。 使用qt4的phonon组件。这个需要移植相关的phonon、phononbackend、gstreamer等。 使用qt5的QMediaPlayer。也需要移植gstreamer。...原创 2019-07-18 13:31:09 · 6135 阅读 · 0 评论 -
Qt多线程通信条件变量
#ifndef TESTTHREAD_H#define TESTTHREAD_H#include <QThread>#include <QWaitCondition>#include <QMutex>class TestThread : public QThread{ Q_OBJECTpublic: explicit Test...原创 2018-04-27 14:17:03 · 1866 阅读 · 0 评论 -
QSpacerItem的大小控制
在使用Qt进行UI设计的时候会用到QSpacerItem控件,QSpacerItem就是一个伸缩器,在Qt Designer中是这两个控件。有时界面在响应某些操作后会涉及到Spacer大小的控制。可以使用QSpacerItem的公共函数void changeSize ( int w, int h, QSizePolicy::Policy hPolicy = QSizePolicy::Minimum...原创 2018-05-04 17:00:14 · 3049 阅读 · 0 评论 -
Qt文档
http://doc.qt.io/qt-5/stylesheet-reference.html转载 2018-05-10 18:24:10 · 247 阅读 · 0 评论 -
Qt中计算一段代码的执行时间
利用gettimeofday(),其精度为us级[html] view plain copy#include QDebug> #include sys/time.h> struct timeval tpstart,tpend; float timeuse; gettimeofday(&tpstart,NULL)转载 2017-04-26 14:44:46 · 3293 阅读 · 0 评论 -
Qtcreator中修改pro文件就报错“Parse Error ('')”的解决
在一个项目中需要修改pro文件,修改后编译都会报错“Parse Error ('')”,即使我只是在空白行加了一个空格也会报错。参考网上的资料知道这是一个编码问题,需要修改编码格式。具体做法是:打开Qtcreator 选择菜单Tools-->Options, 左侧选择Test Editor,右侧选择第二个标签Behavior,找到File Encodings, Default encodi原创 2016-12-13 11:05:50 · 3386 阅读 · 1 评论 -
QT实现图片按钮(用qss切割图片,或者放三张图片)
我在网上找了很久,把他综合了一下不说了关键代码来了;void SetButtonStyle(QPushButton *button, QString imgsrc, int CutSec) { int img_w=QPixmap(imgsrc).width(); int img_h=QPixmap(imgsrc).height(); int PicWidth =转载 2016-08-02 17:27:23 · 3387 阅读 · 0 评论 -
Qtcreator 远程调试程序
在PC上使用Qtcreator开发的程序想要在开发板上调试运行需要进行一些设置。1.首先,使用ssh登录到开发板ssh root@192.168.1.136以用户名root登录IP地址为192.168.1.136的开发板。执行这条命令后会提示输入密码。root@192.168.1.136's password:在光标处输入密码回车,如果一切正常即可登录。2.原创 2016-07-27 15:09:19 · 5622 阅读 · 0 评论 -
Qt/Qte/Qtopia三者的区别
Qt泛指 Qt software的所有版本的图像界面库,包括 Qt/X11(Unix/Linux),Qt Windows, Qt Mac 等,但这只是相对于二进制来说的。Qt作为一个跨平台的GUI 框架,在源码上对所有平台都是一致的。Unix/Linux上最流行的桌面环境之一KDE就是采用Qt来写的。Nokia 在2008年收购 Trolltech 后,将 Qt 更名为 Qt So转载 2016-01-25 09:19:43 · 4836 阅读 · 0 评论 -
Qtcreator远程调试出现“The selected build of GDB does not support Python scripting.It cannot be used .."
之前使用的是Qt4.7后来换成了Qt5.x,Qtcreator的版本使用4.0,使用中发现Qtcreator远程调试出现“The selected build of GDB does not support Python scripting.It cannot be used in Qt Creator.” 意思是gdb不支持Python脚本不能再Qtcreator中使用。有问题原创 2017-08-18 16:01:19 · 6222 阅读 · 0 评论 -
Qt5显示中文
1.在main.cpp中包含头文件#include mian函数中加入QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));在使用中文时QString::fromLocal8Bit("停止")。2.QString::fromWcharArray("停止").原创 2017-09-20 17:08:28 · 1205 阅读 · 0 评论 -
Qt5实现国际化
1.在工程文件(.pro)里加入TRANSLATIONS标签,例如:TRANSLATIONS+=chs.ts。可以根据不同地区的语言代码进行命名。2.在命令行下调用:lupdatemyproject.pro,生成.ts文件。如果ts文件中文乱码加上:CODECFORTR=UTF-8。3.启动QtLinguist进行翻译。4.在命令行下调用:lrelease xxx.ts...原创 2017-09-20 16:35:34 · 723 阅读 · 0 评论 -
Qtcreator不支持中文输入的问题
安装了Qt5.6后发现不能输入中文,问过度娘后找到了很多类似的文章都是讲需要一个库文件,可以我搜索一下发现在对应目录里面已经有了库文件。经过多方查找最终使用的方法是修改环境变量。比如在~/.bashrc中加入export QT_IM_MODULE=ibus然后source ~/.bashrc重新打开Qtcreator发现可以正常切换中英文输入了。原创 2017-07-03 16:51:35 · 1107 阅读 · 0 评论 -
qt-embedd-linux4.8.2编译配置选项说明
Usage: configure [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>] [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-importdir &...转载 2018-03-08 11:13:25 · 278 阅读 · 0 评论 -
继承QEvent类实现自定义事件
1.继承自QEvent类的实现.h文件#ifndef REFRESHDATAEVENT_H#define REFRESHDATAEVENT_H#include <QEvent>class RefreshDataEvent:public QEvent{public: RefreshDataEvent();public: static const Typ...原创 2018-03-09 16:32:48 · 1043 阅读 · 0 评论 -
嵌入式linux实现vnc功能
现在有一个想法准备在嵌入式设备和pc之间通过网络实现一种类似远程桌面的功能,在pc端可以看到嵌入式设备显示的内容,并且可以使用鼠标和键盘操作嵌入式设备的程序。查看了网络上的一些资料后,准备使用vnc功能来实现,在嵌入式设备端启动vncserver,在pc端启动vncclient,建立连接后能实现需要的功能。准备尝试的方法有两种:一种是在编译Qt时加入vnc的支持。参考的资料是http://doc....原创 2018-03-06 16:18:00 · 4996 阅读 · 8 评论 -
QWidget实现模态及非模态
1、对QWidget设置模态窗口有两种方法:第一种是在构造函数中 setWindowFlags(Qt::FramelessWindowHint); setAttribute(Qt::WA_showModal, true); 但这种方法已经在Qt4.5中被摒弃了,因为按照这样设置,对话框是无法使用触摸屏输入法的,只能用按键输入;第二种是在构造函数中 s...转载 2018-04-10 14:00:43 · 2876 阅读 · 0 评论 -
QTabWidget使用ui设计器在点击对应tab时创建窗口的做法
QTabWidget使用ui设计器(俗称拖控件法)进行UI设计时,如果标签项比较多,在性能不足的嵌入式设备上窗口的弹出就很慢。如果能够控制每个标签页对应的窗口的创建,那么只要在显示时只创建需要显示的标签对应窗口就可以了,其它的标签对应的窗口在使用时才创建,这样就可以达到加快窗口显示速度的目的。 可以按照如下方法实现点击对应标签才创建与之对应窗口的功能。1.在UI设计器中加入QTabW...原创 2018-05-02 16:15:43 · 2995 阅读 · 0 评论 -
Qtcreator plain C++工程不能调试的解决办法
使用QtCreator创建了plain C++工程,工程创建后代码如下#include <iostream>using namespace std;int main(){ cout << "Hello World!" << endl; return 0;}选择debug版本,设置了断点以后不能够进入断点,弹出一个终端,看不到输出"...原创 2018-04-25 16:15:19 · 1028 阅读 · 0 评论 -
Qt获取QObject对应的类名并把它转为真实类型
QObject是有窗口类的父类,比如QWidget,QLabel,QPushButton等都直接或间接继承自QObject类。如果把某个窗口中的所有控件都装到一个QList<QObject*>中,那么如何区分当前的是那种类型控件呢?QObject *obj;if (obj->metaObject()->className() == QStringLiteral("QPush...原创 2018-05-10 18:22:52 · 14993 阅读 · 0 评论 -
静态编译Qt
1.编译tslib(注意加上--enable-shared=yes --enable-static=yes)Download the latest tslib and build and install using the following commands:sudo ./autogen-clean.sh ; sudo ./autogen.sh ; sudo export ac_转载 2017-05-18 17:54:44 · 696 阅读 · 0 评论