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;  
}
相关推荐
龙鸣丿1 小时前
Linux基础学习笔记
linux·笔记·学习
Nu11PointerException3 小时前
JAVA笔记 | ResponseBodyEmitter等异步流式接口快速学习
笔记·学习
亦枫Leonlew5 小时前
三维测量与建模笔记 - 3.3 张正友标定法
笔记·相机标定·三维重建·张正友标定法
考试宝5 小时前
国家宠物美容师职业技能等级评价(高级)理论考试题
经验分享·笔记·职场和发展·学习方法·业界资讯·宠物
Mr.Q6 小时前
Qt多边形填充/不填充绘制
qt
可峰科技6 小时前
斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)
开发语言·qt
黑叶白树7 小时前
简单的签到程序 python笔记
笔记·python
幸运超级加倍~7 小时前
软件设计师-上午题-15 计算机网络(5分)
笔记·计算机网络
7年老菜鸡8 小时前
策略模式(C++)三分钟读懂
c++·qt·策略模式
芊寻(嵌入式)8 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习