Qt 带浮动工具栏的QDialog
如何在Qt中创建带有浮动工具栏的Qt 带浮动工具栏的QDialog,qt,toolbar,qdialog,Qt,Toolbar,Qdialog,如何在Qt中创建带有浮动工具栏的QDialog 在QDialog中附加工具栏作为小部件的QMainWindow不合适。为什么不合适?下面的代码工作起来很有魅力 #include <QtGui> class MyDialog : public QDialog { Q_OBJECT public: MyDialog(QWidget* parent=0) { QMainWindow* child = new QMainWindow;
QDialog
在
QDialog
中附加工具栏作为小部件的QMainWindow
不合适。为什么不合适?下面的代码工作起来很有魅力
#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!"));
}
};
#包括
类MyDialog:公共QDialog
{
Q_对象
公众:
MyDialog(QWidget*parent=0)
{
QMainWindow*child=新的QMainWindow;
QLabel*label=新的QLabel(tr(“带工具栏的QMainWindow!”);
标签->设置对齐(Qt::AlignCenter);
child->setCentralWidget(标签);
QToolBar*toolbar=child->addToolBar(tr(“工具”);
工具栏->添加操作(tr(“测试”),这个,插槽(doTest());
QHBoxLayout*布局=新的QHBoxLayout(本);
布局->设置内容边缘(0,0,0,0);
布局->添加小部件(子部件);
}
专用插槽:
void doTest()
{
信息(这个,tr(“测试”),tr(“工具栏正在工作!”);
}
};
看看
试着写这样的短信
myDialog->layout()->setMenuBar(myToolBar);
窗户太重了。也许我并不是一个精确的问题。更正确的是:如何在qt中创建带有浮动工具栏的Qwidget?如果我想在一个对话框中为不同的小部件创建多个工具栏,只需浮动工具栏就可以轻松完成,因为它是QWidget派生的,我相信您可以随时将QWidget作为弹出窗口。但如果您想使其可停靠/浮动切换,似乎除了使用QMainWindow之外别无选择。还有一件事。你说的“QMainWindow很重”是什么意思。QMainWindow运行缓慢吗?