回复: Qt怎么像QQ聊天框一样 设置QToolbar的位置
#6 回 5楼(dbzhang800) 的帖子 [seffrui 08-23 16:08]
怎么实现呢 求给个函数
#7 回 6楼(seffrui) 的帖子 [bingyifeng 08-31 10:53]
可以试着把左边做成一个widget。
从上到下依次为:
QTextEdit
QToolBar
QTextEdit
然后再对她们进行垂直布局(布局是具体需求而定)。
代码大致如下:
TCenterWidget::TCenterWidget(QWidget *parent)
: QWidget(parent)
{
//ui.setupUi(this);
QVBoxLayout *layout = new QVBoxLayout;
QTextEdit *upEdit = new QTextEdit;
Q_ASSERT(NULL != upEdit);
upEdit->setReadOnly(true);
layout->addWidget(upEdit);
QToolBar* toolBar = new QToolBar;
toolBar->addAction(QIcon(QString(":/res/save.png")), QString("action1"));
toolBar->addAction(QIcon(QString(":/res/save.png")), QString("action2"));
toolBar->addAction(QIcon(QString(":/res/save.png")), QString("action3"));
QMenu *menu = new QMenu("Menu1");
Q_ASSERT(NULL != menu);
menu->setIcon(QIcon(QString(":/res/save.png")));
menu->addAction(QIcon(QString(":/res/save.png")), QString("Menuaction1"));
menu->addAction(QIcon(QString(":/res/save.png")), QString("Menuaction1"));
menu->addAction(QIcon(QString(":/res/save.png")), QString("Menuaction1"));
toolBar->addAction(menu->menuAction());
layout->addWidget(toolBar);
QTextEdit *downEdit = new QTextEdit;
Q_ASSERT(NULL != downEdit);
layout->addWidget(downEdit);
this->setLayout(layout);
}
效果如下图:
#8 回 7楼(bingyifeng) 的帖子 [seffrui 09-04 06:36]
多谢!
#9 [bingyifeng 09-04 20:14]
客气啦.
哪天我要是有问题,帮我回就可以了。呵呵
#10 [郭梦霞 06-21 15:20]
QToolBar可不可以竖着排呢?类似这样的