Qt6.2教程——4.QT常用控件QPushButton

一,QPushButton简介

QPushButton是Qt框架中的一种基本控件,它是用户界面中最常见和最常用的控件之一。QPushButton提供了一个可点击的按钮,用户可以通过点击按钮来触发特定的应用程序操作。比如,你可能会在一个对话框中看到"OK"或"Cancel"按钮,这些都是QPushButton的实例。

QPushButton不仅可以显示简单的文本,还可以显示图像,或者同时显示文本和图像。你可以设置按钮的文本,选择合适的图标,甚至可以自定义按钮的外观。

此外,QPushButton还可以作为菜单按钮来使用,即点击按钮时会弹出一个菜单供用户选择。这对于提供一系列选项而不占用太多屏幕空间的场景非常有用。

二,QPushButton的常用属性,方法和信号

QPushButton的属性

属性 描述
text 按钮上的文本
icon 按钮上的图标
iconSize 图标的大小
autoDefault 如果为true,当按钮得到焦点时,它会自动变为默认按钮
default 如果为true,按钮就是默认按钮
flat 如果为true,按钮就是扁平的

QPushButton的方法

方法 描述
setText(const QString &text) 设置按钮上的文本
setIcon(const QIcon &icon) 设置按钮上的图标
setIconSize(const QSize &size) 设置图标的大小
setAutoDefault(bool set) 设置按钮是否在得到焦点时自动变为默认按钮
setDefault(bool set) 设置按钮是否是默认按钮
setFlat(bool set) 设置按钮是否是扁平的

QPushButton的信号

信号/槽 描述
clicked() 按钮被点击时发出的信号
pressed() 按钮被按下时发出的信号
released() 按钮被释放时发出的信号
toggled(bool checked) 按钮的选中状态改变时发出的信号

三,QPushButton的使用示例

以下是一些QPushButton的代码示例。

  1. 创建一个QPushButton并设置其文本:
#include <QApplication>
#include <QPushButton>

int main(int argc, char **argv)
{
    
    
    QApplication app(argc, argv);

    QPushButton button;
    button.setText("Click me!");
    button.show();

    return app.exec();
}

在这里插入图片描述

  1. 连接QPushButton的点击信号到一个槽:
#include <QApplication>
#include <QPushButton>
#include <QMessageBox>

int main(int argc, char **argv)
{
    
    
    QApplication app(argc, argv);

    QPushButton button("Click me!");
    QObject::connect(&button, &QPushButton::clicked, [&]() {
    
    
        QMessageBox::information(nullptr, "Clicked", "You clicked the button!");
    });
    button.show();

    return app.exec();
}

在这里插入图片描述

  1. 设置QPushButton的图标:
#include <QApplication>
#include <QPushButton>

int main(int argc, char **argv)
{
    
    
    QApplication app(argc, argv);

    QPushButton button;
    button.setIcon(QIcon("D:/qtpro/qttest/icon.png"));
    button.setIconSize(QSize(500,300));
    button.show();

    return app.exec();
}

在这里插入图片描述

  1. 设置QPushButton为扁平的:

QPushButton的扁平(flat)属性会改变按钮的外观。如果一个按钮是扁平的,那么它通常在普通状态下会看起来和它的背景融为一体,没有立体感。但是当用户将鼠标悬停在按钮上,或者按下按钮时,它仍然会显示为被按下或者悬停的样式。

换句话说,扁平按钮在没有交互时几乎是不可见的,只有在用户与之交互时才会变得可见。这可以让界面看起来更简洁,但也可能会使用户难以发现这个按钮

#include <QApplication>
#include <QPushButton>

int main(int argc, char **argv)
{
    
    
    QApplication app(argc, argv);

    QPushButton flatButton("Flat Button");
    flatButton.setFlat(true);
    flatButton.show();

    QPushButton nonFlatButton("Non-Flat Button");
    nonFlatButton.setFlat(false);
    nonFlatButton.show();

    return app.exec();
}

在这里插入图片描述

以上就是QPushButton的基本介绍和使用,希望对您有所帮助!

扫描二维码关注公众号,回复: 15424955 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_43657810/article/details/131359426