openAction = new QAction(QIcon(":/images/doc-open"), tr("&Open..."), this); openAction->setShortcuts(QKeySequence::Open); openAction->setStatusTip(tr("Open an existing file")); connect(openAction, &QAction::triggered, this, &MainWindow::open); QMenu *file = menuBar()->addMenu(tr("&File")); file->addAction(openAction); QToolBar *toolBar = addToolBar(tr("&File")); toolBar->addAction(openAction);
时间: 2024-04-18 12:30:52 浏览: 192
Qt例程源代码QMenu.7z
5星 · 资源好评率100%
这段代码是一个使用 Qt 的 QAction、QMenu 和 QToolBar 类的示例。它创建了一个打开文件的操作(openAction),并将其添加到菜单栏和工具栏中。
首先,使用 `new QAction()` 创建一个 QAction 对象,并设置图标、文本和父对象。这里使用了 `QIcon(":/images/doc-open")` 来设置图标,`tr("&Open...")` 设置了显示的文本。
然后,使用 `setShortcuts()` 方法设置了一个快捷键,`QKeySequence::Open` 表示使用系统默认的打开快捷键。
接下来,使用 `setStatusTip()` 方法设置了状态栏的提示信息。
然后,使用 `connect()` 方法将 `openAction` 的 `triggered` 信号连接到 `MainWindow` 的 `open` 槽函数。这意味着当用户触发打开操作时,会调用 `MainWindow` 的 `open()` 函数。
接着,创建了一个名为 "File" 的 QMenu,并将 `openAction` 添加到菜单中。
最后,创建了一个名为 "File" 的 QToolBar,并将 `openAction` 添加到工具栏中。
这样,你就可以在菜单栏和工具栏中显示一个打开文件的操作,并且当用户点击它时,会调用 `MainWindow` 的 `open()` 函数进行相应的处理。
阅读全文