
Qt笔记
Lamar Davis
Hello world, I'm stupid and I'm a SB.
展开
-
Qt中的上下文菜单 ContexMenu
Qt实现上下文菜单一、重载contextMenuEvent()事件处理函数,在重载的contextMenuEvent函数中显示QMenu对象:widget.h文件#ifndef WIDGET_H#define WIDGET_H#include <QWidget>class QMenu;class QAction;namespace Ui {class Widget;}class Wid...原创 2018-02-26 23:19:46 · 2497 阅读 · 0 评论 -
QThread Qt
QThread Qt函数moveToThread()函数原型:void QObject::moveToThread(QThread *targetThread);该函数用来改变对象的线程依附性,及该对象所属的线程,改变线程后,该对象的事件循环将在目标线程继续运行(对象收到的事件,发送的事件,都将通过目标线程的QThread::exec()事件循环处理),一定要注意,该对象的子对象所属线程也会随次线...原创 2018-03-23 10:35:01 · 603 阅读 · 0 评论 -
QT中路径获取方式
QT中路径获取方式获取路径可以使用以下类:QDirQStandardPathsQApplicationvoid MainWindow::pushButtonClickSlot(){ QMessageBox msg; //用QDir获取相关路径 msg.setWindowTitle("information"); msg.setText("Current Path is:"...原创 2018-02-24 15:01:40 · 2745 阅读 · 0 评论 -
Qt事件处理的5个层次
Qt事件处理的5个层次参考教材:C++ GUI Programming with Qt4, Second Edition1、重新实现特殊的事件处理器 重写paintEvent()、mousePressEvent()等事件处理函数。这是最普通、最简单也是最常用的形式。例如自定义EventLabel类,继承于QLabel:void EventLabel::mouseMoveEvent(QMous...原创 2018-03-10 21:43:34 · 929 阅读 · 0 评论 -
QFileDialog的使用
QFileDialog我们经常使用QFileDialog中的打开文件对话框、保存文件对话框,Qt中我们一般使用此类中的静态成员函数,非常方便,举例如下:bool MainWindow::openSourceFileSlot(){ QString tempPath = QFileDialog::getOpenFileName(this, QStringLiteral("打开"), file...原创 2018-02-24 16:26:41 · 5869 阅读 · 0 评论 -
Qt_MSVC中文乱码问题
Qt MSVC版本的中文乱码问题这里针对的是Qt5 MSVC版本,QT4 或者 mingW编译器可能不适用 (未测试)如果程序中用到中文字符串,请将字符串用QStringLiteral() 这个宏括起来,但是编译仍然会出错将包含中文的头文件源文件用记事本打开,以UTF-8的格式保存,然后编译,就解决了出错的问题,而且可以正常显示中文总结:用记事本以UTF-8保存,可以解决编译出错问题,但界面会显示...原创 2018-02-17 17:19:59 · 740 阅读 · 0 评论 -
Qt之QPixmap QImage QBitmap QPicture
Qt之QPixmap QImage QBitmap QPicture绘图设备是指继承QPainterDevice的子类。Qt一共提供了四个这样的类,分别是QPixmap、QBitmap、QImage和QPicture。其中:QPixmap专门为图像在屏幕上的显示做了优化,实际显示效果与平台有关QBitmap是QPixmap的一个子类,它的色深限定为1,可以使用 QPixmap的isQBitmap(...转载 2018-03-11 00:50:37 · 899 阅读 · 0 评论 -
Qt绘图和绘图设备
QPainterQt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类。QPainter用来执行绘制的操作;QPaintDevice是一个二维空间的抽象,这个二维空间允许QPainter在其上面进行绘制,也就是QPainter工作的空间;QPaintEngine提供了画笔(QPainte...转载 2018-03-11 22:00:38 · 1354 阅读 · 0 评论 -
Qt 不规则窗体
Qt 不规则窗体widget.h文件:#ifndef WIDGET_H#define WIDGET_H#include <QWidget>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *paren...转载 2018-03-11 23:06:29 · 699 阅读 · 0 评论 -
QT 正则表达式
/*正则表达式(编写程序的时候,注意双层转义字符解析,(有两次转义字符解析))see also :http://blog.youkuaiyun.com/c05170519/article/details/6873440/上述网页讲述了正则表达式的规则,但实际使用时要注意每个'\'符号前面要重复加一个'\',见18行*/#include <QCoreApplication>#inclu...原创 2018-03-29 23:38:08 · 586 阅读 · 0 评论 -
Qt之QSizePolicy
每个控件都有上述属性,水平策略,垂直策略的含义,他是QSizePolicy类中的枚举常量A. Fixed:控件不能放大或者缩小,控件的大小就是它的sizeHint。B. Minimum:控件的sizeHint为控件的最小尺寸。控件不能小于这个sizeHint,但是可以放大。C. Maximum:控件的sizeHint为控件的最大尺寸,控件不能放大,但是可以缩小到它的最小的允许尺寸。D. Prefe...原创 2018-02-23 23:05:59 · 1593 阅读 · 0 评论 -
Qt信号与槽连接
信号与槽连接qt5格式:connect(pointer1, pointer2, pointer3, pointer4);pointer1:指向发送信号的对象的指针pointer2:发送信号的对象所对应的类的成员函数的指针pointer3:接收信号的对象的指针pointer4:接收信号的对象所对应对象的槽函数指针其中pointer2,和pointer4都是函数指针,必须使用类名::成员函数名,并且p...原创 2018-02-18 23:54:26 · 456 阅读 · 0 评论 -
Qt中的QWidget::move函数
QWidget::move函数原型:void move(int x, int y);void move(const QPoint &);其中move的原点是父窗口的左上角, 如果没有父窗口,则桌面即为父窗口x往右递增,y往下递增...原创 2018-02-23 12:33:16 · 19241 阅读 · 0 评论 -
Qt之pro文件
转载自一去丶二三里 简述使用Qt的时候,我们经常会对pro进行一系列繁琐的配置,为方便大家理解、查找,现将常用的配置进行整理。简述配置注释CONFIGDEFINESDEPENDPATHDESTDIRFORMSHEADERSINCLUDEPATHLIBSMOC_DIROBJECTS_DIRQTRCC_DIR...转载 2018-02-17 16:46:43 · 277 阅读 · 0 评论 -
Qt模块简介
原创 2018-02-17 17:04:44 · 246 阅读 · 0 评论 -
Qt中QEvent的accept和ignore函数 事件 (以QLabel事件重载为例)
Qt中QEvent的accept和ignore函数QApplication::notify() (用来发送一个事件)QObject::eventFilter() (用来过滤事件,即接收拦截别的对象的事件,并处理)QObject::event() (接收发送给自己这个对象的事件)Qt事件相关函数的两种通信方式:1、通过返回值;2、通过accept和ignore在Qt事件传递和接收相关的函数中,QAp...原创 2018-02-28 14:24:49 · 10470 阅读 · 1 评论 -
qt QProcess
qt QProcessQProcess常用三个函数:QProcess::execute():以阻塞方式打开外部程序,只有当外部程序执行完后才继续往后执行现程序。其中,外部程序的标准输出、标准错误都是重定向到现程序的标准输出和标准错误。QProcess::start(): 以子进程的方式打开外部程序,外部进程和现进程执行互不干扰,但外部进程的父进程是现进程。QProces...原创 2018-03-15 00:22:49 · 8450 阅读 · 0 评论 -
Qt中postEvent和sendEvent函数
Qt中postEvent和sendEvent函数部分内容参考http://blog.youkuaiyun.com/lvmengzou/article/details/65450908qt事件循环需要维护一个事件队列,在Qt的main函数中最后一般调用QApplication::exec()成员函数来保持程序对事件队列的处理,exec()的实质是不停调用processEvent()函数从队列中获取事件,并处理,...原创 2018-02-28 19:42:32 · 16509 阅读 · 4 评论 -
QT之中文messageBox
中文提示的messageBoxQT创建messageBox可以直接调用QMessageBox中的静态成员函数,如QMessageBox::information,QMessageBox::warning等,但如果要实现中文的按钮,可以使用以下方法:#include <QWidget>#include <QString>int myMessageBox(QWidget ...原创 2018-02-23 01:02:14 · 1977 阅读 · 0 评论 -
Qt中生产者消费者模型的两种常用框架
一、信号量const int BufferSize = 4096;char buffer[BufferSize];QSemaphore freeSpace(BufferSize);QSemaphore usedSpace(0);void Producer::run(){ int i = 0; while(1){ freeSpace....原创 2019-08-18 22:49:07 · 2213 阅读 · 4 评论