创建工具栏

//创建工具栏
void MainWindow::createToolbars()
{
    QMenu *togglemenu = new QMenu(this);
    // File toolbar 文件工具栏
    QToolBar *filetools = new QToolBar(tr("File tools"));
    filetools->setObjectName("filetoolsbar");
    togglemenu->addAction(filetools->toggleViewAction());
    filetools->addAction(new_);
    filetools->addAction(open_);
    filetools->addAction(save_);
    filetools->addAction(saveas_);
    addToolBar(Qt::TopToolBarArea, filetools);

    // Drawing toolbar 绘画工具栏
    QToolBar *drawtools = new QToolBar("Drawing tools");
    drawtools->setObjectName("drawtoolsbar");
    togglemenu->addAction(drawtools->toggleViewAction());

    drawtools->addAction(brushtool_);
    drawtools->addAction(erasertool_);
    drawtools->addAction(pickertool_);
    drawtools->addSeparator();
    drawtools->addAction(zoomin_);
    drawtools->addAction(zoomout_);
    drawtools->addAction(zoomorig_);
    drawtools->addSeparator();

    // Create color button 创建颜色按钮
    fgbgcolor_ = new widgets::DualColorButton(drawtools);

    // Create color changer dialog for foreground
    fgdialog_ = new dialogs::ColorDialog(tr("Foreground color"), this);
    connect(fgbgcolor_,SIGNAL(foregroundClicked()), fgdialog_, SLOT(show()));
    connect(fgbgcolor_,SIGNAL(foregroundChanged(QColor)), fgdialog_, SLOT(setColor(QColor)));
    connect(fgdialog_,SIGNAL(colorChanged(QColor)), fgbgcolor_, SLOT(setForeground(QColor)));

    // Create color changer dialog for background
    bgdialog_ = new dialogs::ColorDialog(tr("Background color"), this);
    connect(fgbgcolor_,SIGNAL(backgroundClicked()), bgdialog_, SLOT(show()));
    connect(fgbgcolor_,SIGNAL(backgroundChanged(QColor)), bgdialog_, SLOT(setColor(QColor)));
    connect(bgdialog_,SIGNAL(colorChanged(QColor)), fgbgcolor_, SLOT(setBackground(QColor)));

    drawtools->addWidget(fgbgcolor_);

    addToolBar(Qt::LeftToolBarArea, drawtools);

    toolbartoggles_->setMenu(togglemenu);
}

 

posted @ 2023-03-08 18:07  麦田HH  阅读(15)  评论(0编辑  收藏  举报