Qt PushButton 使用

本文详细介绍了Qt环境中按钮的各种操作,包括Qt4与Qt5的信号槽连接方式、使用Lambda表达式进行连接、设置按钮样式、添加下拉菜单、控制按钮的显示与隐藏、设置提示文本、添加图片以及实现延时触发。同时,还涉及到了按钮的双击事件处理、快捷键设置以及按钮多态的实现方法。这是一篇全面记录Qt按钮功能使用的教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按钮信号的几种连接方式

Qt4 的连接方式

connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(pushButtonClicked()));

Qt5 的连接方式

connect(ui->pushButton, &QPushButton::clicked, this, &MainWindow::pushButtonClicked); 

Lambda表达式连接方式(适用于轻量级无需新建成员函数)

connect(ui->pushButton, &QPushButton::clicked, [&]()
{
        ui->pushButton->setText("单机了该按钮");
});

按钮样式的设置

直接在设计模式右键样式表添加

直接写在代码中

ui->pushButton->setStyleSheet("color: rgb(0, 170, 127);"
                                  "background-color: rgb(255, 85, 255);"
                                  "font: 12pt 'Adobe 仿宋 Std R';");

​

做大型应用程序时应当使用QSS文件存起来启动程序时直接加载,可写多套方案便于替换.这里就不展开了.

按钮添加下拉菜单

QMenu* menu = new QMenu();
menu->addAction("1");
menu->addAction("2");
menu->addAction("3");
connect(menu, &QMenu::triggered, [ & ](QAction * action)
{
    qDebug() << action->text();
});
ui->pushButton->setMenu(menu);

 按钮的掩藏和显示

show() & hide();

按钮提示文本(即鼠标移入后提示的相关信息)

​
ui->pushButton->setToolTip("这是一个按钮");

​

按钮添加图片

​
//通过QIcon添加
ui->pushButton->setIcon(QIcon("H:\\image\\reset.png"));

//通过QPixmap添加
ui->pushButton->setIcon(QPixmap("H:\\image\\reset.png"));

//通过样式表添加(右键样式表&代码添加都行)
ui->pushButton->setStyleSheet("background-image: url(H:/image/reset.png);");

​

按钮的延时触发

​
ui->pushButton->setAutoRepeat(true);
ui->pushButton->setAutoRepeatDelay(5000);
ui->pushButton->setAutoRepeatInterval(100);

​

按钮双击事件

直接继承并重写

void mouseDoubleClickEvent(QMouseEvent *e);

直接将该控件安装事件过滤器 在事件里面加以区分并处理

ui->pushButton->installEventFilter(this);

按钮添加快捷键

​
ui->pushButton->setShortcut(QKeySequence("Alt+F2"));

​

按钮多态

继承并重写移入&按下&点击&移出等事件. 或者在样式表里面直接使用按钮的这些状态.

在此不一一展开了.此篇幅旨在记录按钮的使用.文章存在错误以及不足还请各路朋友指出.我会一一更改!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值