如何设置 QToolButton
以显示一个包含 QAction
的下拉菜单,并连接这些动作的 triggered
信号到槽函数:
// 在 MainWindow 的构造函数或初始化函数中 | |
QAction *newAction = new QAction(QIcon(":/res/孤独.png"), "New", this); | |
newAction->setShortcut(QKeySequence("Ctrl+N")); | |
newAction->setStatusTip("Create a new file"); | |
connect(newAction, &QAction::triggered, this, &MainWindow::onNewFile); | |
QMenu *toolButtonMenu = new QMenu(this); | |
toolButtonMenu->addAction(newAction); | |
// 可以继续添加其他动作到 toolButtonMenu | |
ui->toolButton->setPopupMode(QToolButton::MenuButtonPopup); | |
ui->toolButton->setMenu(toolButtonMenu); | |
ui->toolButton->setDefaultAction(newAction); // 如果想要设置默认动作的话 | |
// MainWindow 类的槽函数 | |
void MainWindow::onNewFile() | |
{ | |
// 在这里处理新文件创建的逻辑 | |
qDebug() << "Creating a new file..."; | |
} |
在这个例子中,newAction
被创建并连接到 onNewFile
槽函数。然后,它被添加到一个名为 toolButtonMenu
的 QMenu
对象中,该对象随后被设置为 ui->toolButton
的弹出菜单。当用户点击 QToolButton
的下拉菜单并选择“New”时,onNewFile
槽函数将被调用。