• QPushButton按钮用法


    QPushButton

    简介

    QPushButton是一个很常用的一个按钮控件,主要用于创建一个可按压的按键。它显示了一 个文本和一个图标。另外,你也可以在创建时,指定一个快捷键。

    基本用法

    1. 创建

    QPushButton主要有两种创建方法,一种是直接在QtCreator上进行拖拽添加,另外一种是用代码创建。

    用代码创建如下:

    QPushButton *button = new QPushButton("Download", this);
    

    你也可以在创建的时候这样写:

    QPushButton *button = new QPushButton("&Download", this);

    这样,你就指定了一个快捷键,用于按下这个按钮,具体的规则为:
    在"&"后面的那个字母就是你的快捷键,而且快捷键的组合方式为Alt + D。所以如果你是这样写

    QPushButton *button = new QPushButton("D&ownload", this);

    你的快捷键就是:Alt + o

    2. 设置信息

    你也可以自己手动的去设置信息,包括按钮上面的字,按钮上的图标。
    调用setText来设置按钮上的文字:

    button->setText("下载");
    

    调用setIcon来设置按钮上的图标

    1. QIcon icon("D:/icon.png");
    2. button->setIcon(icon);

    autoRepeat

    属性autoRepeat,当这个属性为true的时候,你鼠标左键按下键盘之后,会持续性的释放pressedreleasedclicked信号,直到你松下鼠标左键为止;

    1. ui->pushButton_3->setAutoRepeat(true);
    2. connect(ui->pushButton_3, &QPushButton::pressed, [] () {
    3. qDebug() << "pressed";
    4. });
    5. connect(ui->pushButton_3, &QPushButton::clicked, [] () {
    6. qDebug() << "clicked";
    7. });
    8. connect(ui->pushButton_3, &QPushButton::released, [] () {
    9. qDebug() << "released";
    10. });

    在按下之后,会得到如下效果:

    本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

     

    autoRepeatDelay

    这个属性用来设置前面的autoRepeat这个在自动重复前的延迟,也就是说在按下之后,等待这个设置的延迟之后,才会开启自动重复。

    ui->pushButton_3->setAutoRepeatDelay(2000);

    效果如下:

     

    autoRepeatInterval

    这个属性是设置每个重复信号发射之间的间隔,

    ui->pushButton_3->setAutoRepeatInterval(2000);

    效果如下:

     

    信号的连接

    主要的信号主要是鼠标点击按钮时,发射的信号,主要是click信号,你可以连接这两个信号,来实现自己的功能。

    connect(button, SIGNAL(click()), this, SLOT(doSomething()));

     

    样式表设计

    我们可以设计样式表,来达到美化按钮的目的。

    1. QPushButton
    2. {
    3. background-color: rgb(111, 221, 255);
    4. font: 8px "Microsoft YaHei";
    5. color: black;
    6. }

    同时你也可以根据按钮的伪状态来设置对应的样式表:

    1. /*按下的状态*/
    2. QPushButton:pressed
    3. {
    4. /*要设计的样式*/
    5. }
    6. /*悬浮的状态*/
    7. QPushButton:hover
    8. {
    9. /*要设计的样式*/
    10. }

    最终的代码和效果如下:

    1. QPushButton *button = new QPushButton("D&ownload", this);
    2. QIcon icon("D:/icon.png");
    3. button->setIcon(icon);
    4. connect(button, SIGNAL(click()), [] () {
    5. QMessageBox::information(nullptr, "提示", "按钮按下");
    6. });
    7. button->setStyleSheet("QPushButton{\n background-color: rgb(111, 221, 255);\n font: 14px \"Microsoft YaHei\";\n color: black;\n}");

     

    本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

  • 相关阅读:
    threejs 动态调整相机位置,使相机正好能看到对象
    【Detectron2】代码库学习-1. 概览
    我的AI音乐梦:ChatGPT帮我做专辑
    国货之光——jdchain1.6.5测试网络部署
    Windows操作系统进阶:防火墙基础和Windows Defender
    C语言开发,指针进阶,字符串查找,包含,拼接
    工业智能网关BL110应用之三十八: COM口如何配置采集Modbus协议设备
    38、jenkins持续集成(一)
    【Try to Hack】Cobalt Strike(一)
    RPC 对比 HTTP
  • 原文地址:https://blog.csdn.net/m0_60259116/article/details/128025499