当前位置: 首页 > news >正文

QDialog

属性方法

样式表

  background-color: qlineargradient(spread:reflect, x1:0.999896, y1:0.494136, x2:1, y2:1, stop:0 rgba(0, 0, 0, 255), stop:1 rgba(255, 255, 255, 255));border: 1px groove rgb(232, 232, 232);border-radius: 20px;

QDialog 的常用方法:

  • exec(): 以模态方式运行对话框,阻塞其它窗口,直到该对话框关闭。
  • show(): 以非模态方式显示对话框,不会阻塞其它窗口。
  • accept(): 以接受的方式关闭对话框,通常与确定按钮关联。
  • reject(): 以拒绝的方式关闭对话框,通常与取消按钮关联
void QDialog::done(int result);

result: 这个参数是一个整数,用于指定对话框的返回值。这个值通常是 QDialog::AcceptedQDialog::Rejected,分别对应对话框的“接受”和“拒绝”操作,但也可以是其他自定义的整数值。

函数行为:

  • 当调用 done(int result) 时,它首先会设置对话框的返回值。
  • 然后,它会关闭对话框。如果对话框是模态的(即阻止其它窗口接收输入),这个动作会释放任何模态循环。
  • 在关闭对话框之前,done 会发出 finished() 信号,并传递 result 参数。
  • 如果 QDialog 是通过 exec() 方法以模态方式显示的,exec() 将返回 result 值。

void setWindowOpacity(qreal level);

level 参数是一个 qreal(通常是 double 的别名),取值范围从 0.01.0,其中 0.0 表示完全透明,1.0 表示完全不透明。

void QEventLoop::processEvents(QEventLoop::ProcessEventsFlags flags = AllEvents);

flags: 这是一个可选参数,其类型为 QEventLoop::ProcessEventsFlags。这个枚举类型定义了不同的标志,用于指定 processEvents() 方法应该处理哪些类型的事件。标志的默认值是 AllEvents,表示处理所有类型的事件。其它可能的值包括但不限于 ExcludeUserInputEvents, ExcludeSocketNotifiers, 和 WaitForMoreEvents 等。

ProcessBar常用方法:

  • setValue(int value):设置当前进度值。
  • setMinimum(int min)setMaximum(int max):设置进度条的最小值和最大值。
  • setOrientation(Qt::Orientation orientation):设置进度条的方向(水平或垂直)。
  • setFormat(const QString &format):设置进度条上显示的文本格式。

进度条

TestPro.h

TestPro.cpp

#pragma once
#include<qthread.h>
#include <QObject>class TestPro  : public QThread
{Q_OBJECTpublic:TestPro()=default;TestPro(QObject *parent);~TestPro();
signals:void setPos(int pos);
protected:void run();
};
#include "TestPro.h"TestPro::TestPro(QObject *parent): QThread(parent)
{}TestPro::~TestPro()
{}void TestPro::run() {//模拟做事for (int i = 0; i <= 100; i++) {setPos(i);msleep(100);}
}

QtWidgetsApplication11.h

#pragma once#include <QtWidgets/QDialog>
#include "ui_QtWidgetsApplication11.h"class QtWidgetsApplication11 : public QDialog
{Q_OBJECTpublic:QtWidgetsApplication11(QWidget *parent = nullptr);~QtWidgetsApplication11();private:Ui::QtWidgetsApplication11Class ui;
};
#pragma once#include <QDialog>
#include "ui_Pro.h"class Pro : public QDialog
{Q_OBJECTpublic:Pro(QWidget *parent = nullptr);~Pro();
public slots:void setPos(int pos);private:Ui::ProClass ui;
};
#include "Pro.h"
#include<qthread.h>Pro::Pro(QWidget *parent): QDialog(parent)
{ui.setupUi(this);
}Pro::~Pro()
{}
void Pro::setPos(int pos) {ui.progressBar->setValue(pos);if (pos == 100) {for (int i = 100; i > 0; i--) {this->setWindowOpacity((double)i / 100.0);QThread::msleep(10);QEventLoop loop;loop.processEvents();}this->close();}}
#include "QtWidgetsApplication11.h"
#include <QtWidgets/QApplication>
#include"Pro.h"
#include"TestPro.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);Pro p;TestPro tp;QObject::connect(&tp, SIGNAL(setPos(int)),&p,SLOT(setPos(int)));tp.start();p.exec();QtWidgetsApplication11 w;w.show();return a.exec();
}

main.cpp

http://www.lryc.cn/news/271380.html

相关文章:

  • Spark中使用DataFrame进行数据转换和操作
  • windows11新装机,简单评测系统自带软件(基本涵盖日常所需应用)
  • 概念解析 | Shapley值及其在深度学习中的应用
  • ajax的完整写法——success/error/complete+then/catch/done+设置请求头两种方法——基础积累
  • 《Linux详解:深入探讨计算机基础》
  • HarmonyOS 实践之应用状态变量共享
  • ThreadLocal共享变量
  • 前端crypto-js 库: MD5
  • 2024新年快乐
  • OpenCV-Python(21):轮廓特征及周长、面积凸包检测和形状近似
  • 连接progressql报错Cannot load JDBC driver class ‘org.postgresql.Driver‘,亲测有效!!!
  • SQLAlchemy快速入门
  • java 纯代码导出pdf合并单元格
  • Linux自己的应用商店yum
  • 集成电路模拟设计——【基于Serdes 应用的 串化/解串器 时钟与数据恢复电路CDR】
  • OpenWrt 编译入门(小白版)
  • 嵌入式视频播放器(mplayer)
  • 对房价数据集进行处理和数据分析
  • BERT的学习
  • 数据结构OJ实验9-图存储结构和遍历
  • 20231226在Firefly的AIO-3399J开发板上在Android11下调通后摄像头ov13850
  • 0101包冲突导致安装docker失败-docker-云原生
  • 【力扣100】17.电话号码的字母组合
  • 2023。
  • 出现 Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value解决方法
  • Linux--批量自动装机
  • 病理HE学习贴(自备)
  • 关于协同过滤算法在物联网的应用-基于用户行为数据和物联网设备数据,以此提供个性化的智能家居控制推荐服务
  • 计算机网络(6):应用层
  • ESP32:整合存储配网信息和MQTT笔记