QCommandLinkButton Class
QCommandLinkButton小部件提供了一个Vista风格的命令链接按钮。
Header | #include < QCommandLinkButton > |
---|---|
qmake | QT += widgets |
Inherits | QPushButton |
Inherited By |
详细说明
命令链接是Windows Vista引入的一个新控件。它的用途类似于单选按钮,用于在一组互斥选项中进行选择。命令链接按钮不应该单独使用,而应该作为向导和对话框中的单选按钮的替代,从而使按下“next”按钮成为多余的。
外观通常类似于平面按钮,但除了普通按钮文本之外,它还允许使用描述性文本。默认情况下,它还将携带一个箭头图标,表明按下该控件将打开另一个窗口或页面。
属性
-
description : QString 一个描述性标签 以补充按钮文本
设置此属性将在按钮上设置一个描述性文本,以补充文本标签。这通常会以比主要文本更小的字体显示。
Access functions:- QString description() const
- void setDescription(const QString &description)
-
flat : bool 确定按钮是显示为平面面板还是带有边框
默认情况下,此属性设置为false。Access functions:
- bool isFlat() const
- void setFlat(bool)
鼠标移动其上,是否显示边框
公共函数
- QCommandLinkButton(const QString &text, const QString &description, QWidget *parent = nullptr)
- QCommandLinkButton(const QString &text, QWidget *parent = nullptr)
- QCommandLinkButton(QWidget *parent = nullptr)
- virtual ~QCommandLinkButton()
- QString description() const
- void setDescription(const QString &description)
重写的保护的函数
- virtual bool event(QEvent *e) override
- virtual int heightForWidth(int width) const override
- virtual QSize minimumSizeHint() const override
- virtual void paintEvent(QPaintEvent *) override
- virtual QSize sizeHint() const override
小案例
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setApplicationName ("QRadioButton");
QWidget w;
QCommandLinkButton cb1("QCommandLinkButton 1");
QCommandLinkButton cb2("QCommandLinkButton 2");
QCommandLinkButton cb3("QCommandLinkButton 3");
QCommonStyle cs;
QIcon icon = cs.standardIcon ((QStyle::StandardPixmap) 0);
cb1.setIcon (icon);
icon = cs.standardIcon ((QStyle::StandardPixmap) 13);
cb2.setIcon (icon);
icon = cs.standardIcon ((QStyle::StandardPixmap) 34);
cb3.setIcon (icon);
cb1.setFlat (true);
cb1.setDescription ("hello 1");
cb2.setDescription ("hello 2");
cb3.setDescription ("hello 3");
QVBoxLayout mainLayout;
mainLayout.addWidget (&cb1);
mainLayout.addWidget (&cb2);
mainLayout.addWidget (&cb3);
w.setLayout (&mainLayout);
w.resize (300,20);
w.show ();
return a.exec();
}