3

如何QDialog在 Qt 中创建带有浮动工具栏的工具栏?

不适合将QMainWindow带有工具栏的附件作为小部件。QDialog

4

2 回答 2

2

为什么不适合?以下代码就像魅力一样。

#include <QtGui>

class MyDialog : public QDialog
{
    Q_OBJECT
public:
    MyDialog(QWidget* parent=0)
    {
        QMainWindow* child = new QMainWindow;
        QLabel* label = new QLabel(tr("QMainWindow with toolbar!"));
        label->setAlignment(Qt::AlignCenter);
        child->setCentralWidget(label);

        QToolBar* toolbar = child->addToolBar(tr("Tool"));
        toolbar->addAction(tr("Test"), this, SLOT(doTest()));

        QHBoxLayout* layout = new QHBoxLayout(this);
        layout->setContentsMargins(0,0,0,0);
        layout->addWidget(child);
    }
private slots:
    void doTest()
    {
        QMessageBox::information(this, tr("Test"), tr("ToolBar is Working!"));
    }
};
于 2012-10-17T07:49:22.057 回答
0

看看 你能给QDialog添加一个工具栏吗? 并尝试这样写

myDialog->layout()->setMenuBar(myToolBar);
于 2014-06-25T11:41:17.503 回答