Qt c++创建工具栏
Qt C++ Creating toolbar
我正在学习Qt并尝试《Qt开发基础》一书中的一些示例。在书中,有一节教单一文档界面的例子,创建一个简单的应用程序,如记事本。但是,我在创建工具栏时遇到了问题。
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
setWindowTitle(QString("%1[*] - %2").arg("unnamed").arg("SDI"));
connect(ui->docWidget->document(), SIGNAL(modificationChanged(bool)), this, SLOT(setWindowModified(bool)));
createActions();
createMenu();
createToolbars();
statusBar()->showMessage("Done");
}
是主窗口的构造函数。
void MainWindow::createToolbars()
{
QToolBar* toolbar;
toolbar = addToolBar(tr("File"));
toolbar->addAction(anyaction);
}
这本书就是这样创建工具栏的。但是,当我尝试运行程序时,会创建两个工具栏。一个是代码创建的工具栏,名为"文件"另一个是由ui设计器ie创建的空白工具栏。*ui.toolbar
.
为了摆脱两个工具栏,我尝试只使用*ui.toolbar
。这是工作。代码如下所示:
void MainWindow::createToolbars()
{
ui->toolBar->addAction(anyaction);
}
但我尝试仅通过代码创建工具栏,即。没有在UI设计器中添加工具栏。所以我这样写:
void MainWindow::createToolbars()
{
QToolBar* FileBar = this->addToolBar(tr("File"));
FileBar->addAction(anyaction);
}
但是,有一个编译错误。编译器使用这个函数:
void QMainWindow::addToolBar(QT::ToolBarArea area, QToolBar * toolbar)
而不是我想要的:
QToolBar * QMainWindow::addToolBar(const QString & title)
http://doc.qt.io/qt-5/qmainwindow.html addToolBar-3
我错在哪里?
当您从MainWindow
中删除QToolBar
时,QtCreator自动删除了QToolBar
类的导入。
把这个添加到mainwindow.h
:
#include <QToolBar>
最好在mainwindow.h
的MainWindow
的private
section中定义QToolBar* FileBar
。然后,您将能够从MainWindow
类的任何方法访问它。
void MainWindow::createToolbars()
{
FileBar = this->addToolBar(tr("File"));
FileBar->addAction(anyaction);
}
当你看到这样的消息:
必须指向类/结构/联合/泛型类型
首先尝试包含必要类的头。
相关文章:
- 为什么使用适用于C++的 AWS 开发工具包创建 EC2Client 段错误
- wx工具栏:获取工具的位置和大小
- 带有下拉菜单的wx工具栏:对所选项目没有反应
- Microsoft 编辑默认工具栏时的 Visual Studio 'Unknown Bitmap Format'
- 单击工具按钮后,在GTKMM工具栏中更改工具按钮图标
- 我可以将使用v120_xp工具集构建的静态库链接到使用VS2013中的v120工具集创建的EXE/DLL中吗
- wxFormBuilder 工具栏间距
- C++在工具栏中心拉伸QLineEdit
- MFC 自定义 - 添加新工具栏
- 如何在两个其他两个之间设置工具栏
- Win32 工具栏下拉按钮消息处理
- 如何在 Q工具栏中添加可拉伸垫片
- 在 MFC 中创建带有事件的工具栏
- WTL,无法创建工具栏
- 创建自定义小部件作为QMainWindow的工具栏
- 如何从资源创建工具栏
- MFC窗口工具栏创建失败,没有错误消息
- 如何为Windows应用程序创建可移动/可调整大小/可配置的工具栏
- Qt c++创建工具栏
- 基于CControlBar创建水平或垂直方向的自定义工具栏