Метка на QToolBar, возможно? - PullRequest
       72

Метка на QToolBar, возможно?

1 голос
/ 19 сентября 2019

Возможно ли иметь ярлыки в QToolBar?Что-то вроде зеленого текста, который я рисую в верхней части скриншота приложения.

Я хотел бы иметь набор действий на панели инструментов, все они относятся к какой-то системе.Затем другая панель инструментов с другим набором действий, связанных с другой системой.Таким образом, каждая панель инструментов будет иметь метку, названную в соответствии с конкретной системой.

enter image description here

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.

1 Ответ

1 голос
/ 19 сентября 2019

да, вам нужно сначала создать свой собственный виджет, а затем выполнить:

ui->statusBar->addWidget(MY_CUSTOM_WIDGEt);

например,

auto b = new QPushButton(this);
b->setText("hello");
connect(b, &QPushButton::clicked, [](){qDebug()<< "ok...";});
ui->statusBar->addWidget(b);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...