【问题标题】:Label on QToolBar, possible?QToolBar上的标签,可能吗?
【发布时间】:2020-01-20 10:07:17
【问题描述】:

QToolBar 中是否可以有标签?类似于我在应用截图顶部绘制的绿色文本。

我想在工具栏中有一组操作,所有这些操作都与某个系统相关。然后是另一个工具栏,其中包含与另一个系统相关的另一组操作。因此,每个工具栏都会有一个根据特定系统命名的标签。

QApplication a(argc, argv);
QMainWindow *w = new QMainWindow;

QToolBar *barA = new QToolBar;
barA->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);

QAction *actOnA = new QAction("OnA");
actOnA->setIcon(QIcon("../../../on.png"));
barA->addAction(actOnA);
QAction *actOffA = new QAction("OffA");
actOffA->setIcon(QIcon("../../../off.png"));
barA->addAction(actOffA);
w->addToolBar(barA);

QToolBar *barB = new QToolBar;
barB->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);

QAction *actOnB = new QAction("OnB");
actOnB->setIcon(QIcon("../../../on.png"));
barB->addAction(actOnB);
QAction *actOffB = new QAction("OffB");
actOffB->setIcon(QIcon("../../../off.png"));
barB->addAction(actOffB);
w->addToolBar(barB);

w->show();
return a.exec();

我想我在 Microsoft MFC 项目中看到了类似的标签。

【问题讨论】:

  • 如何设计一个包含开/关图标和子标题的自定义小部件。然后您可以将小部件添加到工具栏。

标签: qt c++11 user-interface qt5 statusbar


【解决方案1】:

是的,您需要先创建自定义小部件,然后再执行:

ui->statusBar->addWidget(MY_CUSTOM_WIDGEt);

例如

auto b = new QPushButton(this);
b->setText("hello");
connect(b, &QPushButton::clicked, [](){qDebug()<< "ok...";});
ui->statusBar->addWidget(b);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 2012-09-22
    • 2013-11-27
    • 1970-01-01
    相关资源
    最近更新 更多