• 3903阅读
  • 1回复

请问怎么给工具栏加上logo图标啊,大侠帮看下啊,用action加上去的自己控制不了位置和大小 [复制链接]

上一主题 下一主题
离线kevin_wmy
 
只看楼主 倒序阅读 楼主  发表于: 2009-10-09
请问大侠们,怎么给工具栏加上logo图标啊,用action加上去的自己控制不了位置和大小,想通过自己安装事件过滤器重绘却没有效果:
StPainterFilter * painterFilter = new StPainterFilter();
    myContentWidget->myUiImpl.toolBar->installEventFilter(painterFilter);
bool StPainterFilter::StPainterFilter{
logoPm=QPixmap(":/res/logo_grey.png");


bool StPainterFilter::eventFilter(QObject *obj, QEvent *event)
{
    QToolBar *toolBar = qobject_cast<QToolBar *>(obj);
    if (event->type() == QEvent::Paint &&toolBar)
    {
        Q_ASSERT(toolBar != 0);
        QPainter painter(((QWidget *)obj));
        
        QRect rt = ((QWidget *)obj)->frameGeometry();
        //painter.save();
        //painter.setRenderHint(QPainter::Antialiasing);

        painter.drawPixmap(rt.left()+rt.width()*0.75,rt.top(), logoPm);
        painter.drawPixmap(rt.left()+rt.width()*0.9 ,rt.top(), logoPm);
        QBrush brush(logoPm);
        painter.fillRect(rt.left() + rt.width()*0.75, rt.top(),
            rt.left() + rt.width()*0.75+30,
            rt.bottom(), logoPm);


        return true;
    } else {
        // standard event processing
        return QObject::eventFilter(obj, event);
    }
}
离线xlttap

只看该作者 1楼 发表于: 2009-10-09
通过资源文件来加图标很方便的。
我简单我快乐
快速回复
限100 字节
 
上一个 下一个