QT5编程与实例
bandaostart
这个作者很懒,什么都没留下…
展开
-
MinGW编译SQLite3.dll SQLite3.def生成 SQLite.a
原创 2020-11-12 15:48:10 · 983 阅读 · 0 评论 -
Linux 中的动态链接库和静态链接库是干什么的?
什么是库?库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。 windows上对应的是.lib .dll linux上对应的是.a .so在这里先介绍下Linux下的gcc编译的几个选项g++ -c hellospeak.cpp会将hellospea...转载 2020-11-11 17:14:50 · 148 阅读 · 0 评论 -
关于lib,dll,.a,.so,静态库和动态库的解释说明
什么叫程序库所谓程序库,一般是软件作者为了发布方便、替换方便或二次开发目的,而发布的一组可以单独与应用程序进行compile time或runtime链接的二进制可重定位目标码文件。通俗一点说,所谓一个库,就是一个文件,这个文件可以在编译时由编译器直接链接到可执行程序中,也可以在运行时由操作系统的runtime enviroment根据需要动态加载到内存中。一组库,就形成了一个发布包,当然,具体发布多少个库,完全由库提供商自己决定。什么是lib,什么是dll,什么是.a,什么是so,什么是静态库,什么是转载 2020-11-11 14:34:15 · 2049 阅读 · 0 评论 -
MinGW、GCC、qMake等编译工具的区别
MSVC在Windows下编译C和C++gcc, g++分别是GNU的C 和 C++编译器,在Linux 下面用。cmake&qmake分别用来编译C和QT工程,输入是makefile,输出结果是可执行文件,编译的过程会调用编译器和连接器来完成整个过程。MINGW包含gcc和一系列工具,是Windows下的GNU环境,让开发者在Windows下可以写GNU的C/C++代码,编译的结果是Windows的可执行文件exe,PE格式的在windows下运行。开发 MinGW 是为了那些不喜欢工作.原创 2020-11-11 14:17:33 · 2538 阅读 · 2 评论 -
UNICODE和UTF-8
想必做过爬虫的同学肯定被编码问题困扰过,有 UTF-8、GBK、Unicode 等等编码方式,但你真的了解其中的原理吗?下面我们就来了解一下 Unicode 和 UTF-8 编码到底有什么关系...转载 2020-04-28 14:48:02 · 170 阅读 · 0 评论 -
Qt的.pro文件各变量设置说明
TEMPLATE:定义了工程的编译模式赋值方式为:TEMPLATE=app(1) app :建立一个应用程序的makefile,这是默认值,即如果template没有被指定,这个将被使用(2) lib :建立一个库的makefile(3) vcapp : 建立一个应用程序的Visual Studio项目文件(4) vclib :建立一个库的Visual Studio项目文件(5) ...转载 2019-11-25 11:45:01 · 944 阅读 · 0 评论 -
Qwt例程的编译和使用
首先编译Qwt生产库文件2. 编译例程文件原创 2019-10-23 11:46:02 · 339 阅读 · 0 评论 -
Qwt下载、安装、静态编译使用
下载Qwt源码下载地址:https://sourceforge.net/projects/qwt/files/qwt/6.1.4/静态编译如需静态编译需要修改qwtconfig.pri文件中的“QWT_CONFIG += QwtDll”添加帮助文档...原创 2019-10-22 18:01:42 · 443 阅读 · 0 评论 -
第7章:AllItems
1,各类Item的使用2,源码:#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); cre...原创 2019-01-23 17:06:59 · 694 阅读 · 0 评论 -
第7章:QGraphicsView
1,QGraphicsView视图类显示2,源码:#include "mainwindow.h"#include <QApplication>#include "mapwidget.h"int main(int argc, char *argv[]){ QApplication a(argc, argv);// MainWindow w;// w....原创 2019-01-23 15:52:06 · 445 阅读 · 1 评论 -
第13章:SQLite
1,SQLite数据库操作2,源码:#ifndef ITEMDIALOG_H#define ITEMDIALOG_H#include <QDialog>namespace Ui {class ItemDialog;}class ItemDialog : public QDialog{ Q_OBJECTpublic: explicit Item...原创 2019-01-28 12:55:50 · 205 阅读 · 0 评论 -
第12章:Thread_App_Client
1,多线程应用实例客户端2,源码:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QTcpSocket>#include <QAbstractSocket>#include <QMessageBox>namespace Ui {cla...原创 2019-01-28 12:52:00 · 276 阅读 · 0 评论 -
第12章:Thread_App_Server
1,多线程应用实例服务器2,源码:#ifndef TIMESERVER_H#define TIMESERVER_H#include <QObject>#include <QTcpServer>#include "timethread.h"#include "mainwindow.h"class MainWindow;class TimeServer :...原创 2019-01-28 12:49:04 · 253 阅读 · 0 评论 -
第12章:QWaitCondition
1,QWaitCondition类,允许线程在一定条件下唤醒其他线程2,源码:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QCoreApplication>#include <QWaitCondition>#include <QMutex&g...原创 2019-01-28 12:33:36 · 216 阅读 · 0 评论 -
第12章:QMutex
1,信号的互斥QMutex2,源码:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QMutex>#include <QMutexLocker>#include <QThread>#include <stdio.h>#inc...原创 2019-01-28 11:41:50 · 238 阅读 · 0 评论 -
第12章:Qthread
1,线程Qthread2,源码:#ifndef WORKTHREAD_H#define WORKTHREAD_H#include <QThread>#include <QObject>class WorkThread : public QThread{ Q_OBJECTpublic: WorkThread(int num);protec...原创 2019-01-28 11:36:03 · 183 阅读 · 0 评论 -
第11章:FilterEvent
1,事件过滤FilterEvent2,源码:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QLabel>#include <QImage>#include <QEvent>#include <QHBoxLayout>#in...原创 2019-01-28 11:31:51 · 287 阅读 · 0 评论 -
第11章:KeyEvent
1,按键事件KeyEvent2,源码:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QPaintEvent>#include <QPixmap>#include <QImage>#include <QPalette>#in...原创 2019-01-28 11:01:23 · 216 阅读 · 0 评论 -
第11章:MouseEvent
1,MouseEvent鼠标事件处理2,源码:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMouseEvent>#include <QLabel>#include <QMainWindow>namespace Ui {class MainWindow;}class MainWin...原创 2019-01-28 10:44:35 · 175 阅读 · 0 评论 -
第14章:QML之Component
1,组件用户可以自定义一些复杂的元素加以组合,以方便重用2,源码//文件名为Button.qmlimport QtQuick 2.0Rectangle{ id: btn property bool btnClick: false width: 100; height: 62 //大小 color: "teal" ...原创 2019-03-20 07:45:43 · 328 阅读 · 0 评论 -
第14章:QML之Layout
1,布局包括Row,Column,Grid,Flow2,源码import QtQuick 2.6Rectangle { property alias mouseArea: mouseArea width: 800 height: 1200 MouseArea { id: mouseArea anchors.fill: ...原创 2019-03-20 07:52:14 · 446 阅读 · 0 评论 -
第5章:QMainWindow
1,主窗体综合使用:菜单栏、工具栏、图片操作、字体格式、字体排序、文件打印、文件保存、快捷键等等2,源码:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include &lt;QMainWindow&gt;#include &lt;QLabel&gt;#include &lt;QTextEdit&gt;#include &lt;Q原创 2019-01-17 12:04:56 · 245 阅读 · 0 评论 -
模态对话框与非模态对话框
模态对话框: 没有关闭它之前,不能再与同一个应用程序的其他窗口进行交互 非模态对话框:既可以与它交互,也可以同一程序中的其它窗口交互原创 2018-08-18 09:11:00 · 139 阅读 · 0 评论 -
第14章:QML之 OhterAnimation
1,其它动画元素2,源码import QtQuick 2.0Rectangle{ width: 80 height: 80 //动画元素允许颜色设置,作用越颜色 ColorAnimation on color { from: "blue" to: "aqua" duration: 10000 ...原创 2019-03-26 07:50:58 · 128 阅读 · 0 评论 -
第14章:QML之PropertyAnimation
1,属性动画2,源码import QtQuick 2.0//"属性值源"矩形Rectangle{ width: 80 height: 80 color: "orange" radius: 10 Text{ anchors.centerIn: parent font.pointSize: 12 text...原创 2019-03-26 07:48:37 · 587 阅读 · 0 评论 -
第14章:QML之TextInput
1,输入窗口2,源码import QtQuick 2.0FocusScope{ property alias label: label.text //定义属性别名 property alias text: input.text Row{ spacing: 5 Text{ id: labe...原创 2019-03-26 07:45:04 · 529 阅读 · 0 评论 -
第14章:QML之KeyEvent
1,按键事件2,源码import QtQuick 2.6Rectangle { property alias mouseArea: mouseArea MouseArea { id: mouseArea anchors.fill: parent } Row{ x: 50; y: 50 spac...原创 2019-03-26 07:42:13 · 356 阅读 · 0 评论 -
第14章:QML之MouseArea
1,鼠标事件操作2,代码import QtQuick 2.0Rectangle{ width: 50; height: 50 //宽和高都是50 color: "teal" //初始颜色为绿蓝色 MouseArea{ anchors.fill: parent //事件响应充...原创 2019-03-26 07:39:08 · 194 阅读 · 0 评论 -
第14章:QML之Text
1,文本2,源码import QtQuick 2.6Rectangle{ property alias mouseArea: mouseArea MouseArea{ id: mouseArea anchors.fill: parent } Text{ ...原创 2019-03-19 07:56:04 · 273 阅读 · 0 评论 -
第14章:QML之Image
1,图片加载2,源码import QtQuick 2.6Image { property alias mouseArea: mouseArea MouseArea{ id: mouseArea anchors.fill: parent } x: 20 y: 20 width: 980/4 ...原创 2019-03-19 07:52:31 · 604 阅读 · 0 评论 -
第14章:QML之Visual Elements
可视元素源码import QtQuick 2.6Rectangle { property alias mouseArea: mouseArea //属性别名 property alias topRect: topRect width: 360 height: 360 MouseArea { ...原创 2019-03-19 07:42:26 · 184 阅读 · 0 评论 -
第14章:QML之Anchor
1,Anchor(锚)用来元素的位置布局2,代码import QtQuick 2.6//anchors(锚)//1,每一个元素都有一组锚线:left,horizontal,Center,right,top,verticalCenter,bottom//2,这些元素对应了元素中的:anchors.left,anchors.horizontalCenter等//3,锚系统还允许为一个元...原创 2019-03-20 07:57:22 · 379 阅读 · 0 评论 -
第4章:StandardDialog
1,QT自带的标准对话框,包括字体,颜色,条目,警告等等对话框2,源码:#include "mainwindow.h"#include "ui_mainwindow.h"#include &lt;QFileDialog&gt;#include &lt;QColorDialog&gt;#include &lt;QFontDialog&a原创 2019-01-17 10:05:00 · 309 阅读 · 0 评论 -
第3章:QLayout
1,布局管理2,源码: ui->setupUi(this); MainWidget = new QWidget(this); //左侧 UserNameLabel = new QLabel(tr("用户名: ")); UserNameLineEdit = new QLineEdit(); NameLabel ...原创 2019-01-16 18:11:19 · 142 阅读 · 0 评论 -
第8章:Model
1,QT模型/视图中的Model2,#ifndef MODELEX_H#define MODELEX_H#include &lt;QAbstractTableModel&gt;#include &lt;QObject&gt;class ModelEx : public QAbstractTableModel{public: explicit ModelEx(QObjec...原创 2019-01-24 10:13:32 · 272 阅读 · 0 评论 -
第8章:ModuleView
1,QT引入了模型/视图结构用于完成数据与界面的分离,即InterView框架;InterView框架引入了代理(delegate),通过使用代理,能够自定义数据条目的显示和编辑方式;QT模型/视图结构体分为三部分,模型(Model)、视图(View)、代理(Delegate)2,源码:#include "mainwindow.h"#include <QApplication>...原创 2019-01-24 10:07:24 · 595 阅读 · 1 评论 -
第7章:PlaceChange
1,图片的旋转,放大,倾斜等2,源码:#include "pixitem.h"PixItem::PixItem(QPixmap *pixmap){ pix = *pixmap;}QRectF PixItem::boundingRect() const{ return QRectF(-2-pix.width()/2, -2-pix.height()/2, pix....原创 2019-01-23 18:11:11 · 283 阅读 · 1 评论 -
第7章:QGraphicsItem
1,Graphics View(图形视图);Graphics View框架结构主要包含三个类:场景类(QGraphicsScene)、QGraphicsView(视图类)、QGraphicsItem(图元类);场景类提供了一个用于管理位于其中的众多图元容器,视图类用于显示场景中的图元,一个场景可以通过多个视图表现,一个场景包括多个几何图形;总体来说QGraphicsScene由QGraphicsV...原创 2019-01-18 11:48:22 · 396 阅读 · 0 评论 -
第6章:SVG
1,SVG格式文件打开2,源码:#include "svgwidget.h"SvgWidget::SvgWidget(QWidget *parent) : QSvgWidget(parent){ //用于图片显示尺寸的确定 render = this->renderer();}//鼠标滚轮事件void SvgWidget::wheelEvent(QWheel...原创 2019-01-18 11:19:56 · 159 阅读 · 0 评论 -
第6章:DoubleBuffer
1,绘图双缓冲区2,源码:#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); this-...原创 2019-01-18 11:04:51 · 215 阅读 · 0 评论