gpt4 book ai didi

qt - 当鼠标悬停在 QPushButton 上时,如何从 QPushButton 发出信号?

转载 作者:行者123 更新时间:2023-12-04 12:59:07 29 4
gpt4 key购买 nike

最近想要那个QPushButton当鼠标指针进入时可以发出信号。我怎样才能做到?

我知道 QPushButton 有一些已经定义好的信号,比如 clicked() , pressed() , destory()等等。但是没有像hover(), enter(), ...

我看了一些关于它的信息:有人说可以通过css来完成。我不明白。你能给我一些建议吗?谢谢!

最佳答案

您可以使用 QWidget::enterEvent ( QEvent * event )为了这。

您覆盖此事件并在发生此事件时发送自定义定义的信号。

首先,您必须为此小部件启用鼠标跟踪(例如,构造函数中的 setMouseTracking(true))。

头文件:

class my_button
{
// ...

protected:
virtual void enterEvent( QEvent* e );

public Q_SIGNALS:
void hovered();

// ...
};

源文件:
void my_button::enterEvent( QEvent* e )
{
Q_EMIT hovered();

// don't forget to forward the event
QWidget::enterEvent( e );
}

使用按钮的位置:
connect( one_of_my_button, SIGNAL(hovered()), this, SLOT(do_something_when_button_hovered()) );

关于qt - 当鼠标悬停在 QPushButton 上时,如何从 QPushButton 发出信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9261175/

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