如何QDialog
在 Qt 中创建带有浮动工具栏的工具栏?
不适合将QMainWindow
带有工具栏的附件作为小部件。QDialog
为什么不适合?以下代码就像魅力一样。
#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!"));
}
};
看看 你能给QDialog添加一个工具栏吗? 并尝试这样写
myDialog->layout()->setMenuBar(myToolBar);