首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当焦点出现在QToolButton上时如何调整QToolButton的大小

当焦点出现在QToolButton上时如何调整QToolButton的大小
EN

Stack Overflow用户
提问于 2014-01-15 11:18:29
回答 2查看 498关注 0票数 0

如何调整QToolButton的大小,当焦点出现在QToolButton.上时,我有5 QToolButton,当焦点出现在第2 QToolButton时,它的大小应该会自动增大。怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-15 12:41:23

您必须创建一个自定义类,子类为QToolButton。

代码语言:javascript
复制
class MyButton : public QToolButton
{
    Q_OBJECT 

    private:
         int originalWidth, originalHeight;
         int bigWidth, bigHeight;
};

然后重新实现focusInEvent和out。

代码语言:javascript
复制
void focusInEvent ( QFocusEvent * event ) { 
                   resize(bigWidth,bigHeight); 
                   QToolButton::focusInEvent(event); // Don't forget to call parent focus in / out in order to make the "hover" effect work. 
}

void focusOutEvent ( QFocusEvent * event ) { 
                   resize(originalWidth,originalHeight); 
                   QToolButton::focusOutEvent(event);
}

干杯。

票数 2
EN

Stack Overflow用户

发布于 2014-01-15 13:33:37

还可以通过QSS:

代码语言:javascript
复制
#MySecondButton:focus
{
  width: 300px;
  height: 200px;
}

取决于布局和大小策略,它可能需要设置“最大宽度”/“最大高度”/“最小宽度”等属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21136001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档