如何在QToolButton
焦点发生时调整QToolButton.
的大小
我有5 QToolButton
,当焦点在第二QToolButton
时,它的大小会自动增加。怎么这样呢?
答案 0 :(得分:2)
你必须创建一个自定义类,继承QToolButton。
class MyButton : public QToolButton
{
Q_OBJECT
private:
int originalWidth, originalHeight;
int bigWidth, bigHeight;
};
然后重新实现focusInEvent并退出。
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);
}
干杯。
答案 1 :(得分:2)
也可以通过QSS:
#MySecondButton:focus
{
width: 300px;
height: 200px;
}
取决于布局和尺寸政策,可能需要设置“max-width”/“max-height”/“min-width”等属性。