Для всплывающего меню вы можете создать свой собственный QWidgetAction для добавления во всплывающее меню.
Это пример QWidgetAction:
#include <QWidgetAction>
class myCustomWidgetAction: public QWidgetAction
{
Q_OBJECT
public:
explicit myCustomWidgetAction(QWidget * parent);
protected:
QWidget * createWidget(QWidget *parent);
};
myCustomWidgetAction::myCustomWidgetAction(QWidget * parent):QWidgetAction(parent) {
}
QWidget * myCustomWidgetAction::createWidget(QWidget *parent){
myCustomWidget * widget=new myCustomWidget(parent);
return widget;
}
Затем вы можете добавить свой виджет в toolButton, который будет отображаться в всплывающем меню:
myCustomWidgetAction * widgetAction = new myCustomWidgetAction(this);
ui->toolButton->addAction(widgetAction);
. Пользовательский виджет может быть списком, содержащим разные элементы, или может быть любым другим виджетам. Вы также можете добавить несколько экземпляров myCustomWidgetAction в toolbutton.
Вы также можете добавить его в QMenu, например:
QMenu* menu = new QMenu();
menu->addAction(widgetAction);
Для этого вам следует использовать планировщик задач в Windows. Проще заставить его вызывать скрипт powershell в программе на C ++