Qt学习
不积跬步无以至千里,不积小流无以成江海
欲盖弥彰1314
如有一味绝境,非历十方生死。
展开
-
Qt 线程QThread
线程线程中无法使用任何界面部件类,所以界面与线程之间的协作通过信号和槽或者其他通信机制。1、线程类QThread类2、相关信号[signal] void QThread::finished() //线程终止结束时发出的信号[signal] void QThread::started() //线程开始运行发出的信号3、相关槽[slot] void QThread::quit() //线程退出[slot] void QThread::start(Priority p原创 2020-10-02 23:53:25 · 647 阅读 · 0 评论 -
Qt 笔记 — 设置应用程序&窗口图标&系统托盘图标
1、设置应用程序图标可执行文件**.exe**的图标在**.pro**工程文件中添加 RC_ICONS = “xxxxx.ico” 即可,如:RC_ICONS = "file_logo.ico"如上所示这样做,图标文件需要和**.pro**工程文件在同一目录下2、设置窗口左上角图标从资源文件中调用下面API设置窗口图标 this->setWindowIcon(QIcon(":/res/res/file_logo.png"));3、设置系统托盘图标相关类:#include &原创 2020-10-02 23:35:47 · 576 阅读 · 0 评论 -
【note】简单的Qt + libvlc视频播放
刚开按这篇博客 https://blog.csdn.net/taoerit/article/details/76871116弄,编译通过了,然而调用vlc库的函数就报错,根本就不是他所说的那样,害惨人。。。VLC下载地址http://download.videolan.org/pub/videolan/vlc/http://download.videolan.org/pub/videolan/vlc/3.0.9.2/win32/VLC 库包含的内容:工程文件中添加库文件和头文件路径动态库和静原创 2020-09-30 20:18:02 · 1197 阅读 · 0 评论 -
QT学习笔记 — 移动无边框窗体
一般Qt窗体都是有边框的,通过按住上方的边框进行移动窗体位置。无边框的窗体没有边框无法移动,需要编程程序使其能移动,这就要用到那几个鼠标事件。程序class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *parent = 0); ~Widget(); void closeWin();protected: void mousePressEvent(QMouseEvent *原创 2020-09-19 00:26:54 · 350 阅读 · 0 评论 -
Qt学习笔记—网络编程(UDP)
Qt中QUdpSocket类进行收发UDP数据包,该类父类是QAbstractSocket。简单地说,套接字socket = IP地址 + port端口号IP指定网络中的哪一个主机port端口号指定主机的哪一个应用程序要使用UDP,工程文件中必须添加QT += network涉及的方法是否有数据可读:bool QUdpSocket::hasPendingDatagrams() const 读数据:qint64 QUdpSocket::readDatagram(char *data, q原创 2020-08-26 22:25:05 · 482 阅读 · 0 评论 -
QT学习实战 — 仿window的notepad实现简单的记事本工具
仿window记事本设计界面原创 2020-08-24 10:43:41 · 876 阅读 · 0 评论 -
QT学习笔记—网络编程(HTTP)
要使用Qt Network模块中的类,要在工程文件中加入以下一行代码:QT += network处理网络请求的类: QNetworkRequest协调网络操作、调度创建好的请求,发射信号报告进度 :QNetworkAccessManager网络请求应答: QNetworkReplyQNetworkAccessManager *manager = new QNetworkAccessManager(this);connect(manager, SIGNAL(finished(QNetworkRe原创 2020-08-23 20:19:47 · 627 阅读 · 0 评论 -
Qt学习笔记—简单全屏截图实现
相关函数[static] QDesktopWidget *QApplication::desktop() Returns the desktop widget (also called the root window).//获取桌面窗口的方法,通过此方法可以进一步获取桌面窗口的wIdbool QPixmap::save(QIODevice *device, const char *format = Q_NULLPTR, int quality = -1) const//保存文件QPixm原创 2020-08-18 14:45:17 · 878 阅读 · 0 评论 -
QT学习笔记—文件操作
QIODevice是Qt中所有设备的基接口类,具体IO设备如QFile、QTcpSocket等类继承QIODevice提供的抽象接口。QIODevice是抽象类,不能被实例化。和C库、Linux下的文件操作等很类似,QIODevice也都提供了open()、read、write()、close()等函数QIODevice设备打开模式右QIODevice::OpenMode枚举定义ConstantValueDescriptionQIODevice::NotOpen0x0000原创 2020-08-17 18:03:09 · 608 阅读 · 8 评论 -
QT学习笔记—QMovie播放GIF文件
QMovie类不属于多媒体模块。常用方法QMovie方法获取总帧数int QMovie::frameCount() const//Returns the number of frames in the movie.当前帧序号int QMovie::currentFrameNumber() const当前帧图像QImage QMovie::currentImage() constQPixmap QMovie::currentPixmap() const跳转到某一帧原创 2020-08-12 22:03:58 · 2546 阅读 · 0 评论 -
QT学习笔记—音视频播放
Qt5使用Qt Multimedia模块来实现多媒体应用多媒体功能以及相关的C++类要使用多媒体模块,必须再工程文件中添加模块:QT += multimedia音频播放Qt对底层做了很好的封装。实现音频播放十分简单。常用方法设置媒体源设置播放哪个视频[slot] void QMediaPlayer::setMedia(const QMediaContent &media, QIODevice *stream = Q_NULLPTR)获取声音以及获取声音大小原创 2020-08-10 17:40:45 · 966 阅读 · 0 评论 -
QT学习笔记—启动外部程序
Qt中与启动外部程序的类:QProcess ,其父类是QIODevice。The QProcess class is used to start external programs and to communicate with themQProcess类用于启动外部应用程序以及和它们通信。启动外部应用程序方法:void QProcess::start(const QString &program, const QStringList &arguments, OpenMode mo原创 2020-08-10 10:27:20 · 732 阅读 · 0 评论 -
QT学习笔记—常用标准对话框
对话框QDialog模态对话框未关闭时不能和应用程序其他窗口交互的对话框建立模态对话框:QDialog *dialog = new QDialog(this);dialog->setModal(true); //设置为模态的方法dialog->show();或QDialog dialog(this);dialog.exec(); //进入消息循环,进行阻塞非模态对话框未关闭时依然可以和应用程序的其他窗口交互的对话框标准对话框Qt提供常用的标准对话框都继原创 2020-08-09 12:13:21 · 361 阅读 · 0 评论 -
QT学习笔记—拖放操作
Qt具备强大的拖放机制。拖放操作分为Drag(拖动)和Drop(放下)。跟拖放相关的类是QDragEnterEvent,也是继承自QEvent当数据被拖动会被存储为MIME类型的数据。Qt使用QMimeData类表示MIME拖动事件:[virtual protected] void QWidget::dragEnterEvent(QDragEnterEvent *event)放下事件:[virtual protected] void QWidget::dropEvent(QDropEvent *原创 2020-08-08 17:34:01 · 343 阅读 · 0 评论 -
QT学习笔记—事件处理
Qt是以事件来驱动的,类似鼠标点击、按下键盘等都是属于事件。Qt将所有的事件都抽象成QEvent类,其它各种各样的类都继承自QEventQEvent继承自QWidget。通过Qt助手搜索QWidget查看其Protected Functions一栏可以支持的事件。事件基本都是受保护的虚函数。虚函数在C++中用于实现多态,所以可以重写实现对特定事件的处理。窗口事件离开事件[virtual protected] void QWidget::leaveEvent(QEvent *event)原创 2020-08-08 15:05:15 · 408 阅读 · 0 评论 -
QT学习笔记—自定义控件
新建工程新建工程选择有设计界面:新建widget右击工程名目录选择<添加新文件>在<选择一个模板>界面选择Qt,再选择Qt设计师界面类,最后选择界面模板为Widget设计自定义控件在新添加的Widget界面中添加QSpinBox和QSlider,让两个控件任意其中一个改变另一个跟着改变。通过Qt助手查看可知两个控件有如下信号和槽:在widget的构造函数中添加代码:myNewWidget::myNewWidget(QWidget *parent) :原创 2020-08-07 10:35:26 · 598 阅读 · 0 评论 -
QT学习笔记—应用程序窗口
菜单栏(QMenuBar)1、创建菜单栏// QMenuBar *bar = menuBar(); // 创建菜单栏,只有一个QMenuBar *bar = new QMenuBar;this->setMenuBar(bar); //设置菜单栏到窗口中2、添加菜单栏 QMenu *fileMenu = bar->addMenu("文件"); QMenu *editMenu = bar->addMenu("编辑"); QMenu *viewMenu = b原创 2020-08-03 00:03:26 · 532 阅读 · 0 评论 -
QT学习笔记—信号和槽
连接信号和槽的函数connect(信号的发送者, 发送的信号, 信号的接收者, 信号的处理(槽));信号和槽都可以理解是函数。信号可以连接信号一个信号可以连接多个槽多个信号也连一个槽信号和槽的参数必须一一对应信号的参数个数可以多于槽函数的参数个数信号槽优点:松散耦合,信号发送和接收端没有关联需要关联的时候就使用connect()#include "mywidget.h"#include <QPushButton>myWidget::my原创 2020-08-02 17:21:23 · 411 阅读 · 0 评论 -
QT学习笔记—widget窗口应用程序
QT Creator默认有三种创建窗口类选择:QWidgetQMainWidowQDialog三种窗口类的关系:QMainWidown和QDialog继承自QWidget。QWidget是最简单的窗口,什么都没有。创建一个widget窗口工程文件:工程文件在不熟悉情况下不要随意改动#-------------------------------------------------## Project created by QtCreator 2020-08-02T13:46:48原创 2020-08-02 14:30:05 · 914 阅读 · 0 评论