工具箱有两种实现方式,一是运用工具栏QToolBar,二是运用QButtonGroup,在按钮组内创建多个QPushButton,每个按钮对应不同的槽函数。
本节的“工具箱”窗口是QDockWidget类型,通过在停靠窗口上添加控件来实现工具箱功能。
代码
在头文件中添加
private:
int drawType; // 绘制类型
QButtonGroup *toolButtonGroup; // 按钮组
void ToolWin(); // 工具箱窗口
private slots :
void toolButtonClicked(int id); // 绘图槽函数ButtonGroup
在CPP文件的构造函数中添加
mainWindow::mainWindow(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
......
ToolWin(); // 工具箱窗口
}
void mainWindow::ToolWin() // 工具箱窗口
{
//dock_Tool = new QDockWidget(tr("工具箱"), this); // 工具栏
//dock_Tool->setFeatures(QDockWidget::DockWidgetClosable);
QPushButton *button_pen = new QPushButton(QIcon("../Image/toolbox/Painbrush.png"), tr(""), this);
button_pen->setFixedSize(35, 35);
button_pen->setToolTip(tr("钢笔"));
button_pen->setObjectName("customButton");
QPushButton *button_line = new QPushButton(QIcon("../Image/toolbox/Line.png"), tr(""), this);
button_line->setFixedSize(35, 35);
button_line->setToolTip(tr("线条"));
button_lin