Qt的ToolBar中怎么用addWidget()函数加入自定义控件

玉兔金兔 2011-08-29 05:08:05
我自己定义了一个QWidget,然后直接用QToolBar中addWidget()中加入控件,为什么没用,看不到效果!请各位帮帮忙?
...全文
2046 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiying66390 2012-09-08
  • 打赏
  • 举报
回复
对了 还有下面的添加方式
addWidget(board,1,0);//加入布局
1 是拉伸系数 0是表示整个部件都添加 你可以再help中搜搜
shiying66390 2012-09-08
  • 打赏
  • 举报
回复
我刚刚用到和你类似的办法处理问题!

结果OK啊
“this->ui->verticalLayoutBoard->addWidget(board); // 将棋盘加入垂直布局中 ”
verticalLayoutBoard是我定义的一个容器的布局名称,不是部件的name。board是自己定义的widget的窗口

然后直接ui点就出来的了!!
haltwang 2012-09-02
  • 打赏
  • 举报
回复
文档中是这样说的:
QAction * QToolBar::addWidget ( QWidget * widget )
Note: You should use QAction::setVisible() to change the visibility of the widget. Using QWidget::setVisible(), QWidget::show() and QWidget::hide() does not work.
也就是说你加的东西没有显示出来
玉兔金兔 2011-08-30
  • 打赏
  • 举报
回复
void MainWindow::on_erasetoolButton_clicked()
{
penToolBar->clear();

EraseTool *erasetool=new EraseTool();


penToolBar->addWidget(erasetool);

//erasetool->show();
}
EraseTool这个是我本身定义的一个QWidget类,是没有问题的,上面程序的注释句,如不注释erasetool是出现的,只是加不上toolBar。

#ifndef ERASETOOL_H
#define ERASETOOL_H

#include "ui_erasetool.h"
#include <QWidget>
namespace Ui {
class EraseTool;
}

class EraseTool : public QWidget
{
Q_OBJECT
Q_DISABLE_COPY(EraseTool);
public:
explicit EraseTool(QWidget *parent = 0);
signals:

public slots:
private:
Ui::EraseTool m_erasetoolui;
public:

QButtonGroup *erasebuttongroup;
};

#endif // ERASETOOL_H

#include "erasetool.h"

EraseTool::EraseTool(QWidget *parent) :
QWidget(parent)
{
m_erasetoolui.setupUi(this);
erasebuttongroup=new QButtonGroup(this);
erasebuttongroup->addButton(m_erasetoolui.HardEraseBtn);
erasebuttongroup->addButton(m_erasetoolui.IcoSoftEraseBtn);
erasebuttongroup->addButton(m_erasetoolui.InkEraseBtn);
erasebuttongroup->addButton(m_erasetoolui.SoftEraseBtn);
}
念茜 2011-08-29
  • 打赏
  • 举报
回复
贴出关键代码 来呀
回答问题还要用猜的说

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧