• 7186阅读
  • 4回复

[讨论]QToolBar 设置buttonstyle为ToolButtonTextUnderIcon后,请问有什么办法调整icon和text的距离吗? [复制链接]

上一主题 下一主题
离线yyingwei
 

只看楼主 倒序阅读 楼主  发表于: 2011-09-27
QToolBar 设置buttonstyle为ToolButtonTextUnderIcon后,请问有什么办法调整icon和text的距离吗?thx
离线roywillow

只看该作者 1楼 发表于: 2011-09-27
好像没听说过呢……
在文本前加一个\n试试呢?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线yyingwei

只看该作者 2楼 发表于: 2011-09-27
设置buttonstyle后,icon在上面,text在下面,qt会自动调整icon和text,现在问题是在mac平台icon紧挨着toolbar顶部,想让icon下移一点,当然重新做icon是可以的,但是我想有没有其他办法调整icon呢?
离线xuweistudy
只看该作者 3楼 发表于: 2011-09-27
(1)如果你调用QToolBar::addAction(QAction *action),那么要控制Icon和Text的垂直间距,没有直接的方法;你可以投机取巧,把QIcon("")图标切打点,大点的那部分透明不就可以实现了吗!
(2)QToolBar::addWidget(QWidget *_widget),这样你想怎么样都可以,处理_widget就好
离线yyingwei

只看该作者 4楼 发表于: 2011-09-27
解决了, 给qtoolbar加了一个layout,
// set tool bar icon and text in the center
    m_MainToolBar.setIconSize(QSize(16, 16));
    QFrame *frame = new QFrame(this);
    QHBoxLayout *layout = new QHBoxLayout(frame);
    QSpacerItem *spacingItem = new QSpacerItem(24, 24, QSizePolicy::Expanding, QSizePolicy::Minimum);
    layout->addSpacerItem(spacingItem);
    m_MainToolBar.addWidget(frame);
    frame->hide();
本来的iconsize是16*16, 加了一个24*24的QSpacerItem 这样就空出8个像素,icon就不会顶在toolbar顶部
快速回复
限100 字节
 
上一个 下一个