按钮信号的几种连接方式
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"));
按钮多态
继承并重写移入&按下&点击&移出等事件. 或者在样式表里面直接使用按钮的这些状态.
在此不一一展开了.此篇幅旨在记录按钮的使用.文章存在错误以及不足还请各路朋友指出.我会一一更改!