Qt QWidget onMinimize()onMaximize()信号
我试图找到一个信号来知道qwidget何时可见或不可见,我的意思是,qwidget何时位于桌面顶部或何时隐藏在某个窗口下 我还想知道QWidget窗口何时最小化以及何时恢复(未最小化)的信号。我已经尝试了下一个代码,但是当我最小化窗口时,窗口关闭并且不在应用程序栏中Qt QWidget onMinimize()onMaximize()信号,qt,window,qwidget,windowstate,qevent,Qt,Window,Qwidget,Windowstate,Qevent,我试图找到一个信号来知道qwidget何时可见或不可见,我的意思是,qwidget何时位于桌面顶部或何时隐藏在某个窗口下 我还想知道QWidget窗口何时最小化以及何时恢复(未最小化)的信号。我已经尝试了下一个代码,但是当我最小化窗口时,窗口关闭并且不在应用程序栏中 void KGLWidget::changeEvent(QEvent *event) { if (event->type() == QEvent::WindowStateChange) {
void KGLWidget::changeEvent(QEvent *event) {
if (event->type() == QEvent::WindowStateChange) {
if (isMinimized() || !isVisible()) {
emit onHide();
event->ignore();
qDebug() << "NO SE VE";
return;
}
if(isVisible()) {
emit onShow();
event->ignore();
qDebug() << "SI SE VE";
return;
}
}
QWidget::changeEvent(event);
}
void KGLWidget::changeEvent(QEvent*事件){
如果(事件->类型()==QEvent::WindowsStateChange){
如果(isMinimized()| |!isVisible()){
emit onHide();
事件->忽略();
qDebug()忽略();
qDebug()accept(),也没有事件->忽略(),也没有返回;但qwidget窗口始终关闭
非常感谢你,我非常感谢你的时间和帮助
提前感谢。您是说窗口关闭意味着程序退出吗?您显示的代码不会导致程序退出。也许您做了一些事情,使程序在连接到信号onHide()和onShow()的插槽中退出
如果您只想在小部件显示和隐藏时执行某些操作,可以尝试重新实现这两个事件处理程序
void QWidget::showEvent ( QShowEvent * event ) [virtual protected]
void QWidget::hideEvent ( QHideEvent * event ) [virtual protected]