
Qt
文章平均质量分 52
遥_望
遥望盼望,能像清风陪伴她飘去
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Qt中利用Qwt画动态正弦曲线,并可动态调整振幅和周期
前言:这里主要是做出了一个动态的正弦曲线,并可以调整正弦曲线的振幅和周期。网上有很多画动态正弦曲线的,有一些是通过绘制一整个正弦图像,然后每一次显示都是刷新一整个正弦曲线来达到动态的效果,但是有时候需要的效果可能不是这样。这里的正弦曲线主要是通过在数据容器中每次追加一个曲线点来达到动态的效果。当当前的坐标轴已经画满了曲线,那么就更新当前的坐标系,将当前坐标轴往前移动一个单位( x 轴 坐标 +1),原创 2017-12-01 10:14:51 · 6919 阅读 · 0 评论 -
Qt中QString转char*以及编码的问题
如果我们有这样到一个需求:从一个文件中读取字符串,然后对这个字符串进行进一步到处理而需要用到char*类型时。就需要了解Qt到编码,以及如何从QString 转化为char *类型。以读取ini文件为例。1.编码转换 读取ini文件需要用到QSetting类,读取方法如下:http://blog.youkuaiyun.com/yaowangii/article/details/78733022 此时我们读取原创 2018-02-01 14:09:02 · 2518 阅读 · 0 评论 -
Qt编码的总结
在Qt4编程中,很多人往往在main文件中加上这三句话用来解决中文乱码的问题。QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecF原创 2018-02-01 15:09:40 · 666 阅读 · 0 评论 -
Qt 创建应用程序插件
前言本文Qt中创建应用程序的插件主要有两方面: 一、创建插件 二、在应用程序中使用插件一、创建插件先用文字描述一下创建插件的主要步骤 ①、首先新建一个插件的接口类,这个类只包含纯虚函数,这个纯虚函数是用于给接口类实现具体功能的。并在接口类中使用Q_DECLARE_INTERFACE()宏在Qt的元对象系统中注册该接口。 ②、新建一个插件类,这个插件类一定要继承QObject...原创 2018-02-28 15:09:35 · 659 阅读 · 0 评论 -
Qt创建Qt Designer自定义控件
前言Qt Designer控件就是能够在ui界面中使用的控件,例如QPushButton,QLabel等控件。而自定义Qt Designer控件就是自己写一个控件,这个控件能够出现在Qt Designer控件列表中(也可以不在Qt Designer控件列表中出现,主要取决于生成的库文件,是否拷贝进Qt的相关目录下,下文会详细介绍),例如最出名的Qwt控件,就是一个自定义的控件,这个控件非常强大...原创 2018-03-01 11:19:49 · 7502 阅读 · 1 评论 -
Qt5发生的变化(Qt5编程入门笔记)
1、Qt5中,所有图形界面程序需要的QApplication以及重要的基类QWidget已经不再Qt Gui模块中而是被重新组和到了一个新的 模块Qt Widgets中2、Qt5移除了Qt OpenGL模块,将OpenGL相关的类移动到了Qt Gui模块中,意味着OpenGL成为了每个应用程序的必选项。3、Qt5吧全部的Qt接口迁移到Qt平台抽象层(Qt Platform Abstraciton ...原创 2018-03-19 14:37:13 · 1385 阅读 · 0 评论 -
关于Qt QListWidget 清空所有项出现的问题
有时候我们QListWidet的时候刚开始加载了很多个item,但是可能到后面要清楚所有的item,重新加载。例如:我在项目中实现了多国语言,在切换了语言之后,需要将界面重新加载的,这就需要重新加载QListWidget的每一项了。但是在清楚QListWidget的时候,无论调用什么方式总是会出现段错误。//方法一:ui->listWidget->clear();// ...原创 2018-07-05 16:33:21 · 5746 阅读 · 2 评论 -
linux c程序实现获取U盘的名字(卷标/盘符)
一、U盘的卷标在linux系统下,显示的U盘的卷标如下图所示:在linux系统下,显示的U盘的盘符如下图所示:获取U盘的卷标是通过命令blkid -s LABEL来实现,执行完shell命令,在标准输出中就显示/dev/sda1: LABEL=ESD-USB其中 /dev/sda1 是指U盘的设备节点,LABEL=ESD-USB 是指U盘的卷标名,就是U盘的名字吧,可以通过自己的重命...原创 2018-10-12 14:48:20 · 7112 阅读 · 0 评论 -
linux 下Qt 如何修改系统时间
Qt 提供日期时间的类有 QDate QTime 和QDateTime,这三个类。一、获取系统时间可以通过三个静态函数来获取1.QDate::currentDate() 来获取当前系统的日期2.QDate::currentTime()来获取当前系统的时间3.QDateTime::currentTime()来获取当前系统的日期和时间。二、设置系统时间在linux 上可以使用date...原创 2018-10-25 17:30:30 · 6921 阅读 · 2 评论 -
linux下Qt+OpenCv环境的搭建
一、安装linux Qt参考博文:https://blog.youkuaiyun.com/yaowangII/article/details/78529581二、在linux下安装OpenCv参考博文:https://blog.youkuaiyun.com/yaowangII/article/details/84300281三、在完成第一、二步后,linux下已经成功安装上了Qt 和OpenCV了,接在来就需要在...原创 2018-11-20 15:12:06 · 2986 阅读 · 1 评论 -
OpenCv 学习笔记(一)
一、cv::Mat image 创建一个宽和高都是0的图像,可以通过调用cv::Mat的size()方法来获取该图像的尺寸,默认为0*0。二、对一个图像文件的读取 cv::Mat pic; //mat类是用于保存图像以及其他矩阵数据的数据结构,默认下,它的尺寸为了0 qDebug()<<pic.size().height<<","<&a原创 2018-11-21 17:27:01 · 572 阅读 · 0 评论 -
ubuntu 下安装 OpenCV
一、下载opencv源码包 下载连接https://opencv.org/releases.html,在linux下,选择source格式的下载,我用的是3.4.1版本的。二、把源码包,放进Ubuntu中,解压三、在解压目录中新建文件夹build。四、准备opencv的依赖包$sudo apt-get update$ sudo apt-get install build-esse...原创 2018-11-20 14:06:21 · 2025 阅读 · 1 评论 -
Qt在ARM或者linux上多屏显示
利用Qt实现双屏显示,前提是设备中有两个屏幕。这样在linux中Qt实现双屏显示就很简单了。只需要把窗口利用move函数移动到另一个屏幕的像素点就可以了。例如:一屏分辨率为:1280 * 800 ,二屏分辨率为:800 * 480。(1)如果你定义了一个 1600 * 800的窗口,比一屏多出来400个像素点就会自动在二屏中显示,不用任何处理(前提是你到设备双屏能够正常运行)(2)如果想在原创 2018-02-01 10:51:13 · 3969 阅读 · 2 评论 -
Qt工程名称和文件名称的修改
一、修改工程的名称1、关闭当前工程 2、build -> clean project 3、进入.pro工程文件,进行以下修改TARGET = XXXXX (你所需要修改新的工程名称)二、修改文件名1、修改文件名很容易,直接点击右键->重命名就可以了。 但是Qt默认是全小写文件名的,如果想把小写的文件名改成大写,如驼峰式的文件名称,如果直接点右键->重命名会发现修改不了,文件名还是全小写的。需要原创 2017-12-07 11:54:34 · 10658 阅读 · 0 评论 -
linux下使用命令模式去编译Qt程序
一、新建Qt程序在linux下的目录新建一个Qt的cpp文件,如下vim hello.cpp#include <QApplication>#include <QLabel>#include <QtDebug>int main(int argc,char* argv[]){ QApplication a(argc,argv); QLabel label("hello");原创 2017-12-12 09:54:24 · 3602 阅读 · 0 评论 -
Qt自定义标题栏详细介绍(可拖动、放大缩小、关闭、标题栏具有渐变色)
前言使用Qt自带的标题栏可能没有办法适合我们的需求,例如标题栏的颜色,标题栏的宽度、高度,标题栏的放大、缩小、还原、关闭按钮等都没有办法发生改变。因为默认的标题栏是和操作系统相关的、它会根据操作系统的变化而发生变化,在Window上不同风格的主题,在Qt程序产生的标题栏也会发生相应的变化,在linux上也是如此。而自定义标题栏则不会这样,颜色,大小,按钮图标这完全有我们来控制,来达到标题栏的自由性和原创 2017-11-24 10:08:39 · 5759 阅读 · 0 评论 -
Qwt中删除坐标轴之间的空隙
在Qwt中如果原始的QwtPlot没有经过处理,会显得很难看。例如在坐标轴的之间会有很大的空隙,并且坐标原点没有重合在一起。如下图所示: 解决办法:添加以下代码for ( int n = 0; n < ui->qwtPlot->axisCnt; n++ ) { QwtScaleWidget *poScaleWidget = ui->qwtPlot->axisWidge原创 2017-11-23 16:06:55 · 1031 阅读 · 0 评论 -
如何在Qt中使用自己编译好的so库
一、在linux中如何生成so库?gcc test.c -o test.o -cgcc -fPIC -shared test.o - o libtest.so二、在Qt中如何使用自己编译好的so库?1、在Qt的工程文件.pro中,添加以下代码INCLUDEPATH += /mnt/hgfs/shareFile/newTask //这个是我编译好so库目录的绝对路径,里面有相关的头文件LI原创 2017-11-14 14:34:24 · 2513 阅读 · 0 评论 -
ubutun12.04下安装QT5.5.0和编译ARM版本Qt
一、linux下安装Qt5.5.01、首先下载QtCreator,网址http://download.qt.io/archive/qtcreator/,里面有各种版本的QtCreator下载,我选择用的是Qt5.5.0,因为Qt5比Qt4丰富了一下功能,提供多了一些的API,符合我的需求。2、把下载好的Qt5.5.0安装包,qt-linux-opensource-5.0.0-x86_64-offli原创 2017-11-14 13:27:52 · 7607 阅读 · 22 评论 -
linux和ARM下Qwt的安装与使用
一、linux下Qwt的编译安装和使用1、下载Qwthttp://sourceforge.net/projects/qwt/我用到的是QtCreator是5.5.0版本的,下载的Qwt是6.1.3版本的。如果用QtCreator5.5.0版本以上的,如果不是用最新版本的Qwt那么在desingner模式下就会看不到Qwt的控件2、把下载好的文件qwt-6.1.3.tar.bz2,拷贝到linux下目原创 2017-11-14 14:23:07 · 1694 阅读 · 0 评论 -
linux下如何利用QtCreator编译ARM版本的Qt程序
利用QtCreator编译X86的Qt程序,非常简单,直接点运行键就可以编译运行程序,这是因为QtCreator帮我们配置了编译工具(qmake和gcc),但是要编译ARM版本的Qt程序,就需要自己配置这些工具了。一、配置交叉编译工具链1、首先打开QtCreator->Tools->Options->Build &Run -> Compieirs如下图所示 2、点击add->gcc,添加交叉编译工原创 2017-11-16 17:20:04 · 5818 阅读 · 0 评论 -
linux下如何利用QtCreator编译ARM版本的Qt程序
利用QtCreator编译X86的Qt程序,非常简单,直接点运行键就可以编译运行程序,这是因为QtCreator帮我们配置了编译工具(qmake和gcc),但是要编译ARM版本的Qt程序,就需要自己配置这些工具了。一、配置交叉编译工具链1、首先打开QtCreator->Tools->Options->Build &Run -> Compieirs如下图所示 2、点击add->gcc,添加交叉编译工原创 2017-11-16 15:45:52 · 7828 阅读 · 1 评论 -
Qt实现多国语言动态切换
概要Qt中实现多语言的动态切换主要分为以下步骤: 一、生成ts文件 二、生成qm文件 三、利用QTransltor来加载语言包 四、实现多语言切换简单例子一、生成ts文件1、在生成ts文件之前,要保证你的工程当中需要实现语言切换的字符串用函数tr包含,例如ui->textLabel->setText(tr("English version"));因为只有添加了tr()函数,生成ts文件的时候原创 2017-12-05 11:31:52 · 1775 阅读 · 1 评论 -
Qt中出现qt : undefined reference to `vtable forXXX解决办法
我们在Qt中要使用信号和槽的时候必须要添加Q_OBJECT宏,否则会报错。但是有时候我们添加了Q_OBJECT的时候,我们会发现同样会报错,报错如下所示:undefined reference to 'vtable for ***(类)面对这个报错,搞了很久了,反复检查了自己的类和头文件,发现完全没有问题呀。后来在网上搜索了一下答案,网上的方法有很多,我总结出来了两点最简单的。一、修改.pro文件原创 2017-11-27 09:52:17 · 975 阅读 · 0 评论 -
Qt 中自定义QLabel上的点击事件
有时候我们需要在QLabel上显示一张图片,然后通过点击这张图片来处理下一步的 事情。但是Qt中QLabel默认是没有点击效果的,只能通过QPushButton 或者QToolButton来处理点击的事件,这样就具有局限性了。 我们可以通过继承QLabel来自定义QLabel来实现这种点击效果/*myclickLabel.h*/#ifndef MYCLICKLABEL_H#define MYC原创 2017-11-27 12:05:19 · 2746 阅读 · 0 评论 -
Qt如何用QSettings读写ini配置文件
一、ini文件的格式ini文件的格式如下,主要是由节、键、值来组成。[section1] age=23 nam=lcmsex=man[section2]age=75name=lucimersex=man………………[sectionN] // 节名键 = 值 ………………键 = 值二、ini配置文件的写入ini文件的读取和写入都是利用到QSettings 类。/原创 2017-12-07 09:37:38 · 30880 阅读 · 16 评论 -
QPushButton的default和autoDefault 属性
QPushButton类有两个属性:default和autodefault属性。(1) default属性表示当在对话框中时有“Enter”键按下时执行此按键的click()事件。它的默认值是false;(2)autoDefault属性设置为true时会影响按键的外观(略微突出显大),它的默认值是true。default和autoDefault区分当在Dialog中使用时default和a...原创 2018-11-28 10:50:35 · 3051 阅读 · 0 评论