目录
6.设置工具栏允许停靠的位置(上下左右,是否可以悬浮,是否可以移动到其他位置):
1.工具栏介绍:
- Qt 工具栏是 Qt 框架中用于创建和管理应用程序界面的一部分。工具栏通常放置在窗口的顶部或侧面,包含一组可以快速访问的工具和操作。
- 创建工具栏需要使用QToolBar类,使用QToolBar类要包含头文件<QToolBar>。
- 一个主窗口可以有多个工具栏,但是一个主窗口只能有一个菜单栏。
2.代码方式创建工具栏:
- 创建工具栏对象:QToolBar* toolBar=new QToolBar();
- 将工具栏赋给窗口:this->addToolBar(toolBar);
- 创建动作:QAction* action=new QAction("动作名");
- 将动作赋给工具栏:toolBar->addAction(action);
- 为动作绑定槽函数:connect(action,&QAction::triggered,this,&MainWindow::槽函数);
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); //创建工具栏对象 QToolBar* toolBar=new QToolBar(); this->addToolBar(toolBar); //创建动作 QAction* action_1=new QAction("动作1"); QAction* action_2=new QAction("动作2"); //动作添加到工具栏 toolBar->addAction(action_1); toolBar->addAction(action_2); //为动作绑定槽函数 connect(action_1,&QAction::triggered,this,&MainWindow::handle1); connect(action_2,&QAction::triggered,this,&MainWindow::handle2); }
3.为动作绑定图标、图标的ToolTip设置:
- 正常情况下,工具栏显示的是一个个图标,而不是文字。
- 当我们为工具栏的动作添加图标之后,文字就不会显示,只显示图标。
- 使用qrc机制管理图片,将管理的图片添加到每一个动作。
- 关于qrc机制,可以看本系列第6篇文章。Qt:6.QWidget属性介绍(windowTitle属性-窗口标题、windowIcon属性-窗口图标、windowOpacity属性-窗口透明度)以及QRC机制_qt setwindowlcon-CSDN博客
//为动作添加图标 action_1->setIcon(QIcon(":/12.png")); action_2->setIcon(QIcon(":/13.png"));
- 绑定好图标之后,之前设置的文本不会消失,而是会以ToolTip形式存在。
- 也就是当鼠标悬停再图标上面后,设置的文本会出现。
- 也可以通过setToolTip()方法,手动设置ToolTip。
//为图标设置ToolTip action_1->setToolTip("这是动作一"); action_2->setToolTip("这是动作二");
4.动作同时放在菜单栏和工具栏:
- 一个动作,可以同时放在菜单栏和工具栏。
- 同时放在菜单栏和工具栏,在释放时,只会被释放一次,当一方释放后,另一方不会重复释放。
5.工具栏初始位置设置:
- 通过addToolBar()方法,将工具栏设置到窗口时,可以同时设置工具栏的初始位置。
this->addToolBar(Qt::TopToolBarArea, toolBar);
- 可以设置四个位置,默认位置为上:
- Qt::TopToolBarArea——上
- Qt::BottomToolBarArea——下
- Qt::LeftToolBarArea——左
- Qt::RightToolBarArea——右
6.设置工具栏允许停靠的位置(上下左右,是否可以悬浮,是否可以移动到其他位置):
- 通过拖拽工具栏左边的小点,可以拖拽工具栏到任意位置。
- 包括上下左右四个停靠点,和窗口的任意位置。
- 我们可以通过setAllowAreas(Qt::ToolBarArea | Qt::ToolBarArea)方法,设置允许停靠的位置。
- 可以通过setFloatable(true / false)来设置是否允许工具栏可以悬浮在窗口上。
- 可以通过setMoveable(true / false)来设置是否允许工具栏被拖动。