PDA

View Full Version : بازنویسی دکمه minimize



glassysmart
سه شنبه 20 مهر 1389, 17:03 عصر
سلام
چه طوری می شود دکمه minimize را باز نویسی کرد تا کد دلخواه را اجرا کند

rosenth
پنج شنبه 22 مهر 1389, 11:44 صبح
با چک کردن وضعیت پنجره که آیا minimize شده یا نه

in header file:

...
virtual void event(QEvent *event);
...
in source file:

...
void MyDialog::event( QEvent *e )
{
if( e->type() == QEvent::WindowStateChange )
{
//Now check to see if the window is minimised
if( isMinimised() )
//Do something here (show the icon in the systray )
}
}
...


منبع (http://www.qtcentre.org/threads/6593-Minimize-to-system-tray)

glassysmart
پنج شنبه 22 مهر 1389, 19:59 عصر
سلام
خیلی ممنون از اینکه جواب دادین

bool MainWindow::event(QEvent *evt)
{
if(evt->type() == QEvent::WindowStateChange)
{
//Now check to see if the window is minimised
if (isMinimized())
{
// Call the Hide Slot after 250ms
// to prozess other events ....
qApp->processEvents();
QTimer::singleShot(250, this, SLOT(hide()));
evt->ignore();
}
}
// Call original-handler (in this case QMainWindow ...)
return QMainWindow::event(evt);
}
فکر کنم که این برای بقیه دوستان کمی واضح تر باشد