gpt4 book ai didi

c++ - 如何使用 focusInEvent 和 focusOutEvent

转载 作者:行者123 更新时间:2023-11-30 01:55:02 24 4
gpt4 key购买 nike

<分区>

我正在实现一个应用程序,其中我有 3 个 QToolButton,当焦点出现在任何 QToolButton 上时,它应该 resize。我的一个 friend 给了我答案,但我无法弄明白,因为我也在我的 mainWindow 中继承了 QMainWindow 类。他也告诉继承QToolButton。但是会出现多重继承问题。那么究竟如何使用focusInEvent()

MyCode:
mywindow.h :

class mywindow : public QMainWindow
{
Q_OBJECT
public:
mywindow() ;

protected:
void keyReleaseEvent(QKeyEvent *event);
void focusInEvent(QFocusEvent *event);
void focusOutEvent(QFocusEvent *event);

private:
QWidget *widget;
QStackedWidget *stack1;
QToolBar *tool;
QListWidget *list1;
QListWidget *list2;
QVBoxLayout *vertical;
QToolButton *button1;
QToolButton *button2;
QToolButton *button3;

public slots:
void fileNew();
void file();
bool eventFilter(QObject *object, QEvent *event);

};

我的窗口.cpp :

mywindow::mywindow() : QMainWindow()
{
//some code
}

我必须合并我 friend 的代码:

class mywindow : public QToolButton
{
private:
int originalWidth, originalHeight;
int bigWidth, bigHeight;
};

void focusInEvent ( QFocusEvent * event ) {
resize(bigWidth,bigHeight);
QToolButton::focusInEvent(event);
}

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com