
LinuxQt编程
文章平均质量分 68
乌托邦2号
乌托邦
展开
-
qt5安装好后更新添加组件
QT的组件管理软件并没有在开始菜单或者桌面添加快捷方式(5.9版本),也没有在代码编辑界面设置相关的选项,藏的比较深,因此我被坑了很多次(之前如果要添加组件,只能选择卸载了重装)在被坑了多次之后,在一次偶然的机会,我在QT安装目录发现了QT的组件管理软件MaintenanceTool MaintenanceTool.exe怀着无比激动的心情,我选择“添加或移除组件”点了下一步,结果m...转载 2020-12-21 17:01:00 · 1676 阅读 · 2 评论 -
Qt浅谈之五十四excel与mdb与shape的相互转换
一、简介 Qt5下使用QtXlsx的库(QXlsx::Worksheet)操作excel、sql模块(QSqlDatabase::database)操作mdb、ogr的第三方库(OGRDataSource)解析shape,来实现excel、mdb、shape的相互转换。 效果如下:二、详解1、QXlsx代码由于Qt5.9还没有xlsx的模块,因此需要自己下载QtXlsx的工程进行编译成静态库libQtXlsx.abool FieldMap::...原创 2020-07-27 16:21:46 · 1081 阅读 · 0 评论 -
Qt浅谈之五十三linux下开发软锁用于软件授权使用
一、简介 centos6.4下自己写的代码需要进行简单的加密处理,使用第三方的加密需要费用。于是利用Qt界面配合自己写了一套加密算法,一般也是可以保证安全的。效果如下:二、详解1、代码(1)autosetup.h#ifndef WIDGET_H#define WIDGET_H#include <QtCore>#include <QtGui>#include <QWidget>#include <QProgress...原创 2020-07-25 15:42:28 · 1053 阅读 · 0 评论 -
qt5 使用qtxlsx 读写excel
(1)开源项目下载地址:https://github.com/dbzhang800/QtXlsxWriter(2)建立proTARGET = QtXlsxTEMPLATE = libCONFIG += staticlibQT += core gui gui-private HEADERS += xlsxdocpropscore_p.h \ xlsxdocpropsapp...转载 2019-10-25 13:42:41 · 6680 阅读 · 1 评论 -
Qt浅谈之五十二显示shape表格并自动搜索图片
一、简介 Qt版本(Qt_5_9_5_MinGW_32bit,Qt更高版本是64位需要编译第三方64位库)下,加载shape文件并显示,然后点击对应的图片字段弹出图片,使用于特殊环境下图片的筛选。同时也要处理显示的中文乱码问题。完整代码已上传csdn。二、详解1、代码(1)dispalypic.h#ifndef DISPALYPIC_H#define DI...原创 2019-10-24 15:07:13 · 1199 阅读 · 1 评论 -
Qt浅谈之窗体缩放(仅增加测试代码)
一、简介 在csdn上看到了一篇窗体动态缩放的文章,觉得很有意思,在作者的代码上加上了测试程序,并把所有代码放在csdn上供下载。程序运行的效果:二、详解1、测试代码(完整代码csdn:)(1)widgetscale.h#ifndef RIGHTPOP_H#define RIGHTPOP_H#include "epushbutton.h"#原创 2016-02-18 09:18:36 · 8016 阅读 · 6 评论 -
Qt实现应用程序单实例运行-LocalServer方式
Qt实现应用程序单实例运行--LocalServer方式使Qt应用程序能够单实例运行的典型实现方法是使用共享内存实现。该方法实现简单,代码简洁。但有一个致命缺陷:共享内存(QSharedMemory)实现的单程序运行,当运行环境是UNIX时,并且程序不幸崩溃,会导致共享内存无法释放,从而无法重新运行程序!转载 2015-07-06 17:37:18 · 2205 阅读 · 0 评论 -
Qt运行一个实例进程-3种方式简介
一:使用QLocalSocket 方式:首先一个新的实例启动时,将尝试连接到同一个本地服务器,如果连接失败,则表示第一个实例进程,创建一个本地服务器。否则,进行退出。(.pro里加上QT += network)voidMainWidget::initLocalConnection(){ is_running = false; QCoreApplication::se转载 2015-07-21 18:10:09 · 12888 阅读 · 1 评论 -
Qt浅谈之二十九Qt多线程
一、简介 Qt多线程多用于解决用户界面调用一个比较耗时的操作而导致界面冻结的问题。在此从实际的开发中总结多线程的应用。二、详解1、查看进程中的线程数量(1)cat /proc/${pid}/statusVmSwap: 0 kBThreads: 3SigQ: 0/29693(2)pstree -p ${pid}[aoyan...原创 2015-07-16 14:31:03 · 8982 阅读 · 1 评论 -
Qt浅谈之四十三Linux下有系统托盘再运行弹出已运行的实例
一、简介 centos下当运行一个程序,并将它最小化到系统托盘,时间久了用户可能忘了此程序还开着。而又去试图打开该程序,若是单实例会提示错误,若不是单实例则会启动新的程序(但不想运行多个程序)。怎么才能做到:直接弹出正在运行并且已经最小化在系统托盘里的程序。 解决方法:在系统托盘(QSystemTrayIcon)的程序上加上QSharedMemory判断是否是...原创 2016-02-19 10:34:05 · 2695 阅读 · 0 评论 -
Qt浅谈之三十系统托盘(QSystemTrayIcon)
一、简介 Qt自带的例子/usr/lib64/qt4/examples/desktop/systray中详尽介绍了系统托盘的功能,在其基础上进行拓展,定制适合自己的系统托盘。 托盘菜单实现:QSystemTrayIcon+QMenu+QAction,有时需要加入QWidgetAction。二、详解1、代码(1)systemtray.h...原创 2015-07-20 12:15:06 · 9467 阅读 · 2 评论 -
Qt浅谈之一:内存泄露(总结)
Qt内存管理机制:Qt 在内部能够维护对象的层次结构。对于可视元素,这种层次结构就是子组件与父组件的关系;对于非可视元素,则是一个对象与另一个对象的从属关系。在 Qt 中,在 Qt 中,删除父对象会将其子对象一起删除。 C++中delete 和 new 必须配对使用(一 一对应):delete少了,则内存泄露,多了麻烦更大。Qt中使用了new却很少delete,因为QObject的类及其继承的类,设置了parent(也可在构造时使用setParent函数或parent的addChild)故p原创 2014-06-12 15:08:02 · 40025 阅读 · 17 评论 -
Qt浅谈之五:带文件查找的文本编辑器
QT中的QMainWindow类为用户提供了一个主窗口程序,包括一个菜单栏、多个工具栏、多个锚接部件、一个状态条以及一个中央窗体,本程序结合了代码设计布局和ui的使用,全面体现了QMainWindow窗口中所用到的功能。更主要的是解决锚接部件的神秘性,解剖它的运行过程。原创 2014-06-26 17:47:37 · 7828 阅读 · 0 评论 -
Qt浅谈之七:抽奖软件(可显示图片和姓名)
使用Qt设计的一个抽奖软件,可以显示抽奖人员姓名和图片(无图片时只显示姓名),在Windows下和Linux下都能打包运行。可以设置图片滚动的频率。原创 2014-06-27 14:10:06 · 8643 阅读 · 3 评论 -
Qt浅谈之十二:拖拽文字图片
首先选择窗体显示风格,接着显现拖拽效果,文字和图标都可以作为拖拽的对象,在窗体中的文字图标可以拖拽到窗口的任意位置,它们在两个独立运行的程序间也可相互拖拽(此时是复制一份到拖拽目的程序窗口中),文字拖拽的范围更广(须注意字符集的转换)。本文解决这种比较神秘的效果,熟悉拖拽的基本流程。原创 2014-07-01 11:44:16 · 12230 阅读 · 8 评论 -
Qt::ConnectionType 解析
signal/slot在底层会使用三种方式传递消息。参见QObject::connect()方法:bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::Aut转载 2016-03-03 17:30:36 · 1417 阅读 · 0 评论 -
Qt浅谈之四十二钟表摆动显示百分比
一、简介 Qt下利用定时器实现指针指示百分比的钟摆的动态显示效果,可以适用于显示百分比或进度条的进度或时间的刻度值(在圆形进度条上的一种改进)。效果如下:二、详解1、代码(1)DashboardDisplay.h#ifndef DASHBOARDPROCESS_H#define DASHBOARDPROCESS_H#include <Qt...原创 2016-02-17 11:20:11 · 4473 阅读 · 10 评论 -
Qt浅谈之三十五仿QQ设置面板功能
一、简介 模仿QQ系统设置的面板:上面的导航切换选项卡使用QTabWidget,左侧导航使用QListWidget,右侧的显示区域使用QScrollArea控件;主要使用垂直滚动条的valueChanged事件和QListWidget的itemClicked事件;通过调用QWidget的visibleRegion().isEmpty() 判断QScrollArea中滑动过的区域,...原创 2015-12-07 09:50:29 · 9208 阅读 · 3 评论 -
Qt浅谈之四十六QemuQuestAgent的应用
一、简介 qemu-ga是在虚拟机中安装的一个agent,宿主机host通过通道(unix socket)与虚拟机vm内部的agent进行通信,这样宿主机就有了一种从外部控制/获取虚拟机的手段。比如:host可以向vm下发执行修改hostname的指令,或者获取vm内所有进程信息的指令。 qemu-ga时刻监听这个unix socket,一旦发现有指令发送来原创 2016-03-02 18:00:54 · 3729 阅读 · 0 评论 -
Qt浅谈之三十六仿360设置中心
一、简介 模仿360设置中心面板的功能:左侧导航使用QTreeWidget,右侧的显示区域使用QScrollArea控件;主要使用垂直滚动条的valueChanged事件和QTreeWidget的itemClicked事件;通过调用QWidget的visibleRegion().isEmpty() 判断QScrollArea中滑动过的区域,通过垂直滚动条的setSliderPos...原创 2015-12-10 15:29:35 · 7618 阅读 · 12 评论 -
Qt浅谈之四十四动态显示日志(QGraphicsItem)
一、简介 在QGraphicsItem中使用QGraphicsItemAnimation和QTimeLine来实现动画的显示。其中的数据都是测试数据,仅为显示动画效果。二、详解1、部分代码(1)LogMessagesItem.h#ifndef _LOGMESSAGEITEM_H_#define _LOGMESSAGEITEM_H_#include...原创 2016-02-19 15:29:28 · 7723 阅读 · 4 评论 -
(转载)Qt 中GBK和UTF8的转换
#include <QTextCodec> inline QString GBK2UTF8(const QString &inStr){ QTextCodec *gbk = QTextCodec::codecForName("GB18030"); QTextCodec *utf8 = QTextCodec::codecForName("UTF-8"); QSt...转载 2019-09-19 23:31:10 · 5722 阅读 · 0 评论 -
QT5使用OpenGL的错误
(1)gluPerspective没有定义例如:gluPerspective( 45.0, (GLfloat)width/(GLfloat)height, 0.1,100.0 );转换为:GLfloat zNear = 0.1;GLfloat zFar = 100.0;GLfloat aspect = (GLfloat)width/(GLfloat)height;GLfloat fH = tan(...转载 2018-05-30 11:57:38 · 2245 阅读 · 1 评论 -
Qt5编程——excel操作
方法一:qt使用odbc打开excel并写入[cpp] view plain copy//创建QODBC数据库(excel文件) QSqlDatabase db = QSqlDatabase::addDatabase("QODBC","excelexport"); QString dsn = QString("DRIVER={Microsoft Excel Driver (*....转载 2018-05-28 01:42:55 · 5159 阅读 · 4 评论 -
Qt浅谈之三十九圆形进度条
一、简介 Qt下进度条一般都是水平或垂直的,有时需要一个椭圆或圆来动态显示进度,或用此来显示存储百分比,都是比较适用的。二、详解1、代码(1)widgetdisplay.h#ifndef WIDGET_H#define WIDGET_H#include <QtCore>#include <QtGui>class S...原创 2016-01-15 16:30:41 · 8361 阅读 · 15 评论 -
Qt浅谈之五十一QT_OpenGL
最近想了解些Qt的OpenGL编程,可能以后会使用。Opengl是对2D和3D图形支持很好,有非常多的优化函数,而且是个跨平台的开源库。Qt的Opengl封装的很好,通过Qt的QGLWidget类,将opengl的函数和Qt的界面结合了起来。所以使用Qt开发opengl的界面类都继承自QGLWidget,如class GLWidget : public QGLWidget。原创 2016-04-30 23:31:33 · 16407 阅读 · 1 评论 -
Qt浅谈之二十五2048游戏(原始代码来自网络)
一、简介 Qt改写2048游戏,在linux系统下找寻android的视觉效果。二、运行图 启动运行图:三、详解1、代码(1)widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QLabel>#...原创 2015-05-05 09:26:17 · 9331 阅读 · 8 评论 -
Qt浅谈之五十界面自定义
一、简介 Qt自带的界面不利于样式的调整和美化,自定义界面便于设计风格。二、详解1、代码(1)pagenumbercontrol.h#ifndef PAGENUMBERCONTROL_H#define PAGENUMBERCONTROL_H#include <QWidget>#include "custombtn.h"#ifndef A...原创 2016-04-10 23:02:46 · 8252 阅读 · 2 评论 -
Qt浅谈之总结(整理)
一、简介 QT的一些知识点总结,方便以后查阅。二、详解1、获取屏幕的工作区的大小{ //获取屏幕分辨率 qDebug()<< "screen width:"<<QApplication::desktop()->width(); qDebug()<< "screen height:"<<...原创 2014-06-20 16:18:40 · 42536 阅读 · 4 评论 -
Qt浅谈之二:钟表(时分秒针)
一、简介 QT编写的模拟时钟,demo里的时钟只有时针和分针,在其基础上添加了秒针,构成了一个完整的时钟。能对2D绘图中坐标系统、平移变换(translate)、比例变换(scale)、旋转变换(rotate)、扭曲变换(shear)及其save()和restore()来保存和恢复坐标系的状态。二、效果图(1)时钟运行,秒针随系统时间移动。如图1。三、详解...原创 2014-06-12 21:41:47 · 15923 阅读 · 2 评论 -
Qt浅谈之四十九俄罗斯方块(代码来自网络)
一、简介 从网上下载了一个Qt实现的俄罗斯方块单机版的源码,觉得非常有意思,故以博客形式记录下来,以便慢慢来研究。在centos6.6下编译运行(注意程序运行需要读取pro目录的配置文件,若把编译目录选择在pro外的话运行会报错):二、详解1、部分代码(1)main.cpp#include <QApplication>#include ...原创 2016-04-04 12:20:20 · 6425 阅读 · 0 评论 -
Qt浅谈之四十八窗口下方弹出提示信息
一、简介 在项目中一般都会弹出新的子对话框显示提示信息,但对于一些因后台数据变化引发的提示还是在窗口下方弹出提示信息比较合理。点击按钮弹出提示信息,当鼠标放在提示信息对话框上时,暂停动画可长时间查看提示信息。二、详解1、代码(1)faderwidget.h#ifndef FADERWIDGET_H#define FADERWIDGET_H#inclu...原创 2016-03-31 23:16:56 · 5615 阅读 · 0 评论 -
Qt浅谈之四十五QSplitter实现自由伸缩滑动窗口
一、简介 最近看到一篇Qt实现伸缩滑动的窗口的文章,但其代码不完整。便在此重新书写了完整的代码,并开源出来。窗口的中央有滑动条可以动态改变子窗口的大小,隐藏的按钮可以快速伸缩子窗口。其效果图如下:二、详解1、代码(1)slidingwindow.h#ifndef SLIDINGWINDOW_H#define SLIDINGWINDOW_H#in...原创 2016-02-22 15:50:34 · 13848 阅读 · 15 评论 -
Qt浅谈之四十七下拉列表菜单
一、简介在QGraphicsItem下使用QListWidget实现下拉列表的功能,并显示所有的选项,便于浏览和查询数据。二、详解1、部分代码(1)clusterlistwidget.h#ifndef CLUSTERLISTWIDGET_H#define CLUSTERLISTWIDGET_H#include <QWidge...原创 2016-03-31 00:32:15 · 8776 阅读 · 5 评论 -
Qt浅谈之六:日历(QCalendarWidget)
一、简介 Qt的demo中有CalendarWidget的里,本程序将其国际化,并随时隐藏不必要的设计部件,根据网上的例子增加了一些配置按钮和公历对农历的一些转换,并修复了一些故障。主要目的是掌握其布局的紧凑,并熟悉一些部件的隐藏操作。二、运行图(1)程序运行,显示当前的日历,如下图1所示。三、详解1、时钟按钮点击第二个按钮为时钟按钮(第一个按钮为回到...原创 2014-06-26 21:47:57 · 35841 阅读 · 6 评论 -
Qt浅谈之右下角浮出界面
一、简介 csdn博客上看到了一个比较简单的动画,类似windows下右下角的弹出广告界面。故记录在此,以便查阅。二、详解1、部分代码(1)rightpop.h#ifndef RIGHTPOP_H#define RIGHTPOP_H#include "epushbutton.h"#include <QtGui>class Rig...原创 2016-01-29 15:56:51 · 4645 阅读 · 1 评论 -
Qt之遍历文件夹(entryInfoList本身不递归)
关于Qt操作文件夹、文件的知识用途较多,比如遍历下一层乃至所有子孙文件、文件夹,获取它们的一些信息(大小、类型、最后更改时间等)。当然,也可以进行级联删除。 首先看简单的:一、Qt遍历文件夹下一层的文件:方式1:void ImageTree::addFolderImages(QString path){ //判断路径是否存在 QDir di转载 2015-07-27 10:39:58 · 23352 阅读 · 2 评论 -
Qt浅谈之三十四仿登录界面
一、简介 因需设计登录界面的需要,在博友中发现非常不错的登录界面风格,故写些Qt4的测试代码记录下,下图是博友中的参考图片。二、详解1、主要代码(1)homeserver.h#ifndef HOMESERVER_H#define HOMESERVER_H#include <QtGui>#include "epushbutton.h"#inc...原创 2015-12-03 15:55:38 · 4306 阅读 · 0 评论 -
Qt浅谈之二十App自动重启及关闭子窗口
一、简介 简介二、运行图(1)如下图1所示。三、详解1、开始(1)开始四、总结(1)本博文只发布部分源码,读者可根据思路来进行定制。(2)在不同的系统下可能还会有乱码出现,可修改程序实现,主要当初没考虑到国际化支持。(3)源码已经打包上传到csdn上可登录下载(http://download.csdn.net/deta原创 2014-09-04 22:06:56 · 9959 阅读 · 1 评论 -
Qt浅谈之十四:文件操作
一、简介 简介二、运行图(1)如下图1所示。三、详解1、开始(1)开始四、总结(1)本博文只发布部分源码,读者可根据思路来进行定制。(2)在不同的系统下可能还会有乱码出现,可修改程序实现,主要当初没考虑到国际化支持。(3)源码已经打包上传到csdn上可登录下载(http://download.csdn.net/deta原创 2014-07-30 18:36:13 · 17813 阅读 · 2 评论