本文介绍了当焦点集中在QToolButton时如何调整QToolButton的大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当焦点集中在 QToolButton 上时,如何调整 QToolButton 的大小.我有5个 QToolButton ,当焦点放在第二个 QToolButton 上时,其大小应自动增加.怎么做?

How to resize the QToolButton when focus is coming on that QToolButton.I am having 5 QToolButton, when focus is coming on 2nd QToolButton its size should automatically increase. How to so it?

推荐答案

您将必须创建一个自定义类,将QToolButton子类化.

You will have to make a custom class , subclassing QToolButton.

class MyButton : public QToolButton
{
    Q_OBJECT 

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

然后重新实现focusInEvent.

And then reimplement the focusInEvent and out.

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);
}

干杯.

这篇关于当焦点集中在QToolButton时如何调整QToolButton的大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-26 20:59