基本Widgets(08):【类】QCommandLinkButton[官翻]

QCommandLinkButton Class

QCommandLinkButton小部件提供了一个Vista风格的命令链接按钮。

Header#include < QCommandLinkButton >
qmakeQT += widgets
InheritsQPushButton
Inherited By

详细说明

命令链接是Windows Vista引入的一个新控件。它的用途类似于单选按钮,用于在一组互斥选项中进行选择。命令链接按钮不应该单独使用,而应该作为向导和对话框中的单选按钮的替代,从而使按下“next”按钮成为多余的。

外观通常类似于平面按钮,但除了普通按钮文本之外,它还允许使用描述性文本。默认情况下,它还将携带一个箭头图标,表明按下该控件将打开另一个窗口或页面。

属性

  1. description : QString 一个描述性标签 以补充按钮文本
    设置此属性将在按钮上设置一个描述性文本,以补充文本标签。这通常会以比主要文本更小的字体显示。
    Access functions:

    • QString description() const
    • void setDescription(const QString &description)
  2. flat : bool 确定按钮是显示为平面面板还是带有边框
    默认情况下,此属性设置为false。

    Access functions:

    • bool isFlat() const
    • void setFlat(bool)

    鼠标移动其上,是否显示边框

公共函数

  1. QCommandLinkButton(const QString &text, const QString &description, QWidget *parent = nullptr)
  2. QCommandLinkButton(const QString &text, QWidget *parent = nullptr)
  3. QCommandLinkButton(QWidget *parent = nullptr)
  4. virtual ~QCommandLinkButton()
  5. QString description() const
  6. void setDescription(const QString &description)

重写的保护的函数

  1. virtual bool event(QEvent *e) override
  2. virtual int heightForWidth(int width) const override
  3. virtual QSize minimumSizeHint() const override
  4. virtual void paintEvent(QPaintEvent *) override
  5. 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();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值