![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT开发
文章平均质量分 54
我是包不同
这个作者很懒,什么都没留下…
展开
-
QT 用GDAL库读写shp文件
地理信息系统离不开shp文件,自己写程序调用gdal库解析shp文件,看看shp文件里的内容。原创 2024-06-22 21:13:55 · 135 阅读 · 0 评论 -
OSG OSGEATH各种坐标的相互转化
屏幕坐标转世界坐标,世界坐标转屏幕坐标,世界坐标转经纬度原创 2024-05-18 15:43:22 · 151 阅读 · 0 评论 -
QT VS调试器debugger
QT调试visual studio程序时,需要调试器。原创 2023-04-25 22:10:47 · 434 阅读 · 0 评论 -
用VS2015编译QGIS3.16.9源码
编译qgis过程很繁琐,经过慢长编译后,终有结果。把过程分享给同道中人,望同道中人多多指点。原创 2022-07-25 21:04:45 · 667 阅读 · 0 评论 -
不在QWidget的paintEvent()函数中如何绘制图形
有时候想在QWidget的其它函数中绘制图形或输出文字,如果直接用QPainter painter(QWidget*) 去绘制,往往得不到想来结果,因为paintEvent会把之前的绘制结果擦出。如何做才能克服之个困难呢?QWidget类中提供一个函数 windowHandle()取得QWindow对象指针。在QWindow对象中绘制,即能达想要的结果。下面演示一下,在timerEvent()中绘制图形和文字。直接上代码。```cpp```cppMyWidget::MyWidget(QWi原创 2021-06-06 19:50:22 · 935 阅读 · 1 评论 -
Linux下解决QT应用程序中不能输入中文的问题
Linux下解决QT应用程序中不能输入中文的问题1. 在GitHub下载fcitx插件源码2.修改CMakeLists.txt3.编译源码4.修改profile文件5.重启机器6.源码下载1. 在GitHub下载fcitx插件源码地址:https://github.com/fcitx/fcitx-qt5 或者在本文下载中2.修改CMakeLists.txt在"set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_原创 2021-01-20 14:26:37 · 922 阅读 · 1 评论 -
QT下以ADO连接ORACLE数据库
连接数据库时,以ODBC连接数据库,需要配置ODBC,觉得有点麻烦。如果用ADO连接,省事。程序只需要置一下数据源即可。对应各种数据库(ORACLE,SQLSERVER,MYSQL等)都能轻松应对。一、设置ORACLE的连接串调用例:conn.connectToOracle(“orcl”, “localhost”, 1521, “scott”, “tiger”);bool AdoConnection::connectToOracle( const QString& strSer原创 2020-10-29 12:38:50 · 1316 阅读 · 1 评论 -
在QT下编译ORACLE驱动
一、编译oci1、先安装ORACLE,把C:\oracle\product\11.2.0\dbhome_1\目录下的子目录OCI目录拷贝到QT的C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\oci目录下2、修改OCI.PRO文件在QT creater中打开目录C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\oci下的oci.pro。修改oci.pro文件,增加包含目录原创 2020-10-11 00:09:41 · 831 阅读 · 0 评论 -
QT开发应用程序(19)-- 读取XML文件
1、修改工程文件PRO属性在工程文件设置中修改[Qt Modules] 中增加xml;或者直接修改pro文件:加一行:QT+=xml2、源程序XML例:把xml文件存入utf-8格式的文件中。(如果没有中文字符,文件存放格式可以忽略)<?xml version="1.0" encoding="utf-8"?><classes info="test"> ...原创 2020-03-30 11:03:59 · 455 阅读 · 0 评论 -
QT开发应用程序(18)-- 文件操作
1、QIODevice直接继承自QObject, 是输入/输出设备的抽象类。提供了公共实现和抽象接口用于读写块数据。Q3Socket,Q3SocketDevice,QAbstractSocket,QBuffer,QFile,QLocalSocket,QNetworkReply,QProcess是它的子类。2、QFile打开文件:bool open(OpenMode flag...原创 2020-03-27 20:24:57 · 817 阅读 · 0 评论 -
QT开发应用程序(17)-- 读写XLS文件
请注意,在工程文件pro里,增加CONFIG += qaxcontainer。有的网帖上写的是CONFIG += axcontainer,经测试,通不过。#ifndef QTEXCEL_H#define QTEXCEL_H#include <QObject>#include <QFile>#include <QString>#include &l...原创 2020-03-27 19:51:54 · 1701 阅读 · 5 评论 -
QT开发应用程序(16)-- TCP通讯实例
1、TCP Server端#include <QTcpServer>#include <QObject>#include "Myclientsocket.h"class MyServer : public QTcpServer{ Q_OBJECTpublic: MyServer (QObject *parent=0,int port=0); ...原创 2020-03-27 16:54:55 · 210 阅读 · 0 评论 -
QT开发应用程序(15)-- UDP通讯实例
头文件定义#include <QObject>#include <QUdpSocket> class QtUdp : public QObject{ Q_OBJECT public: UdpReceiver(QObject *p = 0); ~UdpReceiver(); public slots: void receiv...原创 2020-03-27 16:34:44 · 259 阅读 · 0 评论 -
QT开发应用程序(14)-- 线程
1、多线程间的控制有以下类提供对线程进行互斥和同步。QMutexQMutexLockerQReadWriteLockerQReadLockerQWriteLockerQSemephoreQWaitCondition2、线程头文件定义#include <QThread>class WorkThread : public QThread{ Q_OBJEC...原创 2020-03-27 16:24:25 · 169 阅读 · 1 评论 -
QT开发应用程序(13)--数据库操作
在工程中添加定义:QT+=sql头文件定义:include <QSqlDatabase>class MyDatabase{public: MyDatabase(); void connectMYSQL(); void createDB(); void initDB(); QSqlDatabase database;}MyDatabas...原创 2020-03-27 16:11:43 · 210 阅读 · 0 评论 -
QT开发应用程序(12)-- 模型视图代理
1、模型视图结构的理解Model-View-Controller (MVC) 是由三个对象构成,Model是模型,View是显示,Controller定义了用户界面和用户输入的交互。如果把View和Controller结合起来,就成为了Model/View(模型视图)模式,这种模式仍然是把数据的存储和显示分隔起来的。模型与数据源通信,为这个架构中的其它组件提供了接口。通信的本质依赖于数据源的类...原创 2020-03-27 15:56:05 · 356 阅读 · 0 评论 -
QT开发应用程序(11)--图形绘制和文本输出
代码演示:#include <QPainter>MyDraw::MyDraw(QWidget *parent) : QWidget(parent){ QLinearGradient linearGradient(0,0,400,400); linearGradient.setColorAt(0.0,Qt::white); linearGradien...原创 2020-03-27 14:52:40 · 599 阅读 · 0 评论 -
QT开发应用程序(10)--菜单和工具栏
主程序:MenuToolbar::MenuToolbar(QWidget *parent) : QMainWindow(parent){ createActions(); createMenus(); createToolBars();}创建动作:void MenuToolbar::createActions(){ //"打开"动作 ...原创 2020-03-27 14:32:25 · 213 阅读 · 0 评论 -
QT开发应用程序(9)-- 文件等功能对话框
1、取得文件对话框取得文件名的函数,有以下这些:QFileDialog::getOpenFileName()、QFileDialog::getSaveFileName()、QFileDialog::getOpenFileUrl()等。使用方法类似。 #include<QFileDialog>QString FileOpen(){ QString strFileN...原创 2020-03-27 14:12:23 · 281 阅读 · 0 评论 -
QT开发应用程序(8)--布局管理QSplitter, QDockWidget,QStackWidget,QLayout
1、QSplitter的使用#include <QApplication>#include<Qsplitter>#include<QTextEdit>#include <QTextCodec>int main(int argc, char *argv[]){ QApplication a(argc, argv); QF...原创 2020-03-27 12:16:34 · 415 阅读 · 0 评论 -
QT开发应用程序(7)-- QT的按钮和信号槽函数
1、创建一个基于Dialog的QT工程QT的按钮有五类:QPushButtonQRadioButtonQCheckButtonQCommandLinkButtonQDialogButtonBox还有工具条的QToolButton,在别的地方说明。在界面上各类按钮创建一个实例,并在右侧属性栏中修改其名称和图标,也可修改其它属性,如下图所示:2,指定各个按钮的点击信号的槽函数注意:...原创 2020-03-27 10:57:19 · 9624 阅读 · 0 评论 -
QT开发应用程序(6)-- 正则表达式QRegExp类
QRegExp是Qt的正则表达式类。Qt中有两个不同类的正则表达式.通配模式? 匹配任意单个字符, 例如, 1?2可以为1,后面跟任意单个字符, 再跟2匹配任意一个字符序列. 例如, 1*2, 可以为1, 后面跟任意数量的字符[] 匹配一个定义的字符集合. 例如, [a-zA-Z.]可以匹配 a到z之间任意一个字符和. [^a]匹配出小写a以外的字符.利用正则式验证文本框的输入只...原创 2020-03-26 15:51:13 · 1354 阅读 · 0 评论 -
QT开发应用程序(5)-- QVariant类
QVariant类似于C语言的union和类似于MFC的_variant_t。使用一系列的to函数取出来。QVariant可以保存很多Qt的数据类型,包括QBrush、QColor、QCursor、QDateTime、QFont、QKeySequence、QPalette、QPen、QPixmap、QPoint、QRect、QRegion、QSize和QString,并且还有C++基本类型,如...原创 2020-03-26 15:00:42 · 371 阅读 · 0 评论 -
QT开发应用程序(4)-- 容器类(QList, QLinkedList, QVector, QMap, QHash)
QList、QLinkedList、QVectorQList、QLinkedList和QVector提供的操作相似,用QList就可以代替其它两个,QList比QVector更快。元素的储存位置彼此相邻时使用QVector。QList list; list << “1” << “2” << “3”; // list: [“1”, “2”, “3”]for...原创 2020-03-26 14:33:38 · 542 阅读 · 0 评论 -
QT开发应用程序(3)-- 字符串类QString
1、字符串相加QString strName = " 我叫";strName = strName + " 包不同"; // strName :我叫包不同strName = " 我叫";strName += " 包不同"; // strName :我叫包不同2、字符串appendQString strName = " 我叫";QString strAppend = " 包不同";s...原创 2020-03-26 13:47:42 · 734 阅读 · 0 评论 -
QT开发应用程序(2)-- 创建一个应用程序
一、启动QT Creater点击菜单【文件】中的【新建】即可创建一个新应用二、创建一个窗体应用程序选择【Application】、【Qt Widgets Application】之后,点击【Choose】按钮。填写项目名称和路径名。点击【下一步】可以选择基类QMainWindow,QWidget,QDialog.也可以默认【QMainWindow】,直接点击【下一步】这点选择第一项,...原创 2020-03-26 12:38:01 · 1565 阅读 · 0 评论 -
QT开发应用程序(1)-- 环境搭建
QT开发应用程序(1)-- 环境搭建下载QT安装包下载地址:https://www.qt.io/download:由于下载时需要注册,也可以国内的镜像网站如https://mirrors.tuna.tsinghua.edu.cn上找它的下载源。根据需要选择下载指定的版本。下载成功后即可安装。在visual studio2015中安装QT开发插件在菜单【工具】查找【扩展和更新】进入扩...原创 2020-03-26 11:09:15 · 189 阅读 · 0 评论