QT工作笔记

文章目录

QDialog的accept()和reject()介绍

  • accept() 和reject() 这两个槽函数都会和close() 一样关闭dialog
  • accept() 关闭后 返回了Dialog::Accepted
  • reject() 关闭后 返回了Dialog::Rejected
  • 这样当我们需要知道 dialog 是哪个按钮关闭的时候,就可以调用这连个槽;

示例代码

cpp 复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "dialog.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    Dialog dia;
    QPushButton btn(&dia);
    btn.setText("accept");
    btn.move(20,10);
    //会关闭 dia 但是返回的值是 1
    connect(&btn,SIGNAL(clicked()),&dia,SLOT(accept()));

    QPushButton btn1(&dia);
    btn1.setText("reject");
    btn1.move(50,50);
    //会关闭 dia 但是返回的值是 0
    connect(&btn1,SIGNAL(clicked()),&dia,SLOT(reject()));

    int rec= dia.exec(); // dia退出的时候就会被销毁;
    if(rec==Dialog::Accepted){
    qDebug()<< "rec=" << rec << " "<< "accept";
    }else if(rec==Dialog::Rejected) {
    qDebug()<< "rec=" << rec << " "<< "reject";
}

QPushButton提示属性

  • 在ui中直接改变toolTip属性,当鼠标在按钮上停留一段时间后,就会显示提示("筛选")。

样式表

QComboBox

css 复制代码
/* 设置QComboBox(下拉列表框)的基本样式 */  
QComboBox {  
    /* 设置边框圆角半径 */  
    border-radius: 3px;  
    /* 设置内边距,格式为:上 右 下 左 ,内边距就是字体与边框的距离*/  
    padding: 1px 2px 1px 3px;  
    /* 设置边框样式和颜色 */  
    border: 1px solid black;  
    /* 设置背景颜色为透明 */  
    background-color: transparent;  
}  
 
/* 设置QComboBox的下拉箭头样式 */  
QComboBox::drop-down {  
    /* 设置子控件(下拉箭头)的起始位置基于内边距 */  
    subcontrol-origin: padding;  
    /* 设置子控件(下拉箭头)的位置在右上角 */  
    subcontrol-position: top right;  
    /* 设置下拉箭头的宽度 */  
    width: 20px;  
    /* 设置边框的右上角和右下角圆角半径 */  
    border-top-right-radius: 3px;  
    border-bottom-right-radius: 3px;  
}  
  
/* 设置QComboBox的下拉箭头图标 */  
QComboBox::down-arrow {  
    /* 使用图片作为下拉箭头的边框图片 */  
    border-image:url(:/Resource/comboboxArrow.png);  
    /* 设置下拉箭头的宽度和高度 */  
    width: 10px;  
    height: 10px;  
}  
  
/* 设置QComboBox的下拉列表(弹出窗口)的样式 */  
QComboBox QAbstractItemView {  
    /* 设置边框样式和颜色 */  
    border: 2px solid #f3f3f3;  
    /* 设置背景颜色 */  
    background-color: rgba(237, 242, 255, 1);  
    /* 设置边框圆角半径 */  
    border-radius: 5px;  
    /* 设置内边距 */  
    padding: 1px 2px 1px 2px;    
    /* 移除默认的轮廓线 */  
    outline:0px;  
}  
  
/* 设置QComboBox下拉列表中的每一项的样式 */  
QComboBox QAbstractItemView::item {  
    /* 设置边框圆角半径 */  
    border-radius: 5px;  
    /* 设置项的高度 */  
    height: 30px;  
    /* 设置背景颜色 */  
    background-color: rgb(237, 242, 255);  
    /* 移除默认的轮廓线 */  
    outline: none;  
}  
  
/* 设置QComboBox下拉列表中每一项在鼠标悬停时的样式 */  
QComboBox QAbstractItemView::item:hover {  
    /* 设置文本颜色 */  
    color: #FFFFF0;  
    /* 设置背景颜色 */  
    background-color: rgb(98, 0, 255);  
    /* 移除默认的轮廓线 */  
    outline: none;  
}  
  
/* 设置QComboBox下拉列表中选中项的样式 */  
QComboBox QAbstractItemView::item:selected {  
    /* 设置文本颜色 */  
    color: #FFFFF0;  
    /* 设置背景颜色 */  
    background-color: rgb(0, 85, 200);  
    /* 移除默认的轮廓线 */  
    outline: none;  
}
相关推荐
誰能久伴不乏20 小时前
【Qt实战】工业级多线程串口通信:从底层协议设计到完美收发闭环
linux·c++·qt
liu****20 小时前
4.Qt窗口开发全解析:菜单栏、工具栏、状态栏及对话框实战
数据库·c++·qt·系统架构
三水不滴21 小时前
Redis缓存更新策略
数据库·经验分享·redis·笔记·后端·缓存
ziqi5221 天前
第二十四天笔记
笔记
马猴烧酒.1 天前
【JAVA数据传输】Java 数据传输与转换详解笔记
java·数据库·笔记·tomcat·mybatis
ziqi5221 天前
第二十五天笔记
前端·chrome·笔记
dalong101 天前
A11:plus 控件窗口绘图基础
笔记·aardio
历程里程碑1 天前
Linxu14 进程一
linux·c语言·开发语言·数据结构·c++·笔记·算法
从此不归路1 天前
Qt5 进阶【11】图形视图框架:用 QGraphicsView 搭一个流程图编辑器
开发语言·c++·qt
三水不滴1 天前
Redis 持久化机制
数据库·经验分享·redis·笔记·缓存·性能优化