Qt
文章平均质量分 63
遇安啊
小白正在学习中
展开
-
Qt窗口类学习——QWidget
QWidget 类代表一般的窗口,其他窗口类都是从 QWidget 类继承出来的。而 QWidget 类则同时继承了 QObject 类 和 QPaintDevice 类,也就是说,窗口类都是 Qt 对象类。这里的 QPaintDevice 类则是所有可绘制的对象的基类。构造函数QWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);其中参数 parent 指向父窗口,如果这个参数为 0,则窗口就成为一个顶级窗口参数 f 是构造窗口的标志,主要用于控转载 2021-01-21 13:38:32 · 1111 阅读 · 0 评论 -
Qt的alignment、margin属性
alignment介绍Qt::Alignment alignment() const; // 获取对齐方式void setAlignment(Qt::Alignment align); // 设置对齐方式Qt::Alignment 类型取值1)Qt::AlignLeft::水平方向靠左。 2)Qt::AlignRight:水平方向靠右。 3)Qt::AlignHCenter:水平方向居中。 4)Qt::AlignJustify:水平方向调整间距两端对齐。原创 2021-01-21 11:02:07 · 3810 阅读 · 0 评论 -
Qt主界面卡死的解决方案-一些具体实现方式
简介我们在写UI文件的时候,有很多情况下,是需要界面来处理业务中某些耗时的操作,这时候如果不处理好界面相关的逻辑的话,主界面就会卡死,这时候就需要我们上多线程了逻辑1首先上业务上一个很简单的栗子比如我们的代码中有这么一个耗时的操作cpp // 第一种耗时的操作 auto fWhile1 = [] () { for (int i = 0; i < 1000000; i++) { qDebug()<<i&转载 2021-01-21 09:35:12 · 1208 阅读 · 0 评论 -
Qt实现带滚动条的界面(代码实现)
引入头文件#include <QScrollArea>#include <QScrollBar>实现过程1.新建一个QScrollArea变量,名称为sa2.设置sa的位置长宽,进度条显示3.在sa界面中新建一个QWidget界面w4.将 w装配到sa中并设置w的位置长宽(sa为主界面,w为实际界面) QScrollArea *sa = new QScrollArea(this); sa->setGeometry(400, 300, 300, 200)原创 2020-10-24 15:00:03 · 5703 阅读 · 0 评论 -
利用Qt自带的windeployqt.exe打包exe程序
生成exe文件选择Release版本,运行一次运行后在构建目录中会发现多了Release版本,里面有exe文件;添加依赖在你的Qt的安装包下面会有windeployqt.exe文件,它可以帮你添加依赖将生成的exe文件放入一个新建的文件夹中,文件夹自己命名在你的新建文件夹下,使用cmd命令进行打包,就是你的windeployqt.exe路径+空格+你的exe,举例如下://maze.exe就是release生成的exe文件E:\Qt5.9.1\5.9.1\mingw53_32\bin\wi原创 2020-08-14 11:06:07 · 381 阅读 · 1 评论 -
利用QSettings实现对ini文件的读写
参考:这篇文章讲的很清楚下面是我自己写的一个test头文件:两个按钮,第一个保存文件,第二个读取文件。#ifndef MAINWINDOW_H#define MAINWINDOW_H #include <QMainWindow> namespace Ui {class MainWindow;} class MainWindow : public QMainWindow{ Q_OBJECT public: explicit MainWindow(QW原创 2020-08-04 10:33:58 · 441 阅读 · 3 评论 -
Qt使用QFileDialog打开指定类型的文件
打开指定文件类型,已.exe文件为例//pathName为选定文件的路径QString pathName;//"."表示在当前工作路径下寻找,“Exe files(*.exe);;All files(*.*)”表示指定pathName = QFileDialog::getOpenFileName(this,tr("打开文件"), "./",tr("Exe files(*.exe);;All files(*.*)"));//将路径在lineEdit中显示出来lineEdit-&原创 2020-07-30 10:03:01 · 5439 阅读 · 0 评论 -
Qt实现按钮的三态变换,纯代码设计
准备工作重写Button类1、新建一个Button.h头文件,在其中重写一个Button类,并且重载enterEvent和leaveEvent函数。代码如下//重写按钮类Button#ifndef BUTTON_H#define BUTTON_H#include <QPushButton>#include <QEvent>class Button : public QPushButton{ Q_OBJECTpublic: Button(QWi原创 2020-07-04 11:32:54 · 1252 阅读 · 0 评论 -
基于Qt的TCP通信实现
一、tcp介绍TCP是面向连接的可靠传输的协议,协议规定通信的双方是服务端和客户端的两个角色:服务端:负责监听网络端口,等待客户端的连接,用连接的socket完成信息的交互;客户端:负责每次连接的发起,建立连接后才可以进行通信;二、界面设计服务器端客户端三、具体程序设计(1)服务器端设计1、建立一个工程,工程名为tcpserver,类名为server。在.pro文件中加入如下代码并保存。QT += network2、进入server.h,添加类的前置声明class原创 2020-07-04 11:31:28 · 891 阅读 · 0 评论 -
linux虚拟机下安装Qt
(1)安装Qt1、准备好一个Qt安装包,我准备的是qt-opensource-linux-x64-5.2.1.run。2、将安装包放入虚拟机中3、开始安装Qt,打开终端(快捷方式ctrl+alt+t),进入安装包所在目录,执行"./qt-opensource-linux-x64-5.2.1.run(将 Qt 默认安装在 home 目录下),或者执行“sudo ./qt-opensource-linux-x64-5.2.1.run”(将 Qt 安装在根目录/opt 下);4、根据弹出的窗口按照提示安装原创 2020-06-23 17:41:44 · 4942 阅读 · 2 评论 -
Qt应用程序提供多线程
在Qt应用程序中实现多线程的方法:子类化QThread并且重新实现它的run()函数就可以了.下面举一个例子:1建一个Qt项目可以同时选择多个编译器建一个myThread类派生自QThread类,完成之后在myThread.h中加入如下代码class myThread : public QThread{public: myThread(); void s...原创 2019-08-16 16:49:30 · 167 阅读 · 0 评论 -
Qt添加Cypress CyAPI.lib库与CyAPI.h
添加头文件添加头文件的方法很简单,只需要找到你需要的头文件,将其复制到Qt工程的工作目录下,然后在代码窗口添加#include "XXX.h"即可添加库文件一般当用CyAPI.lib库时,一般还要添加SetupAPI.lib;User32.lib;legacy_stdio_definitions.lib等库文件.CyAPI.lib由Cypress提供;SetupAPI.lib和User3...原创 2019-08-16 11:30:54 · 2165 阅读 · 3 评论