用qt开发一个图片查看软件,通过重写qlabel实现自定义窗口title,这个title当电脑使用多个显示器的时候,我想实现:
当软件界面的大部分在显示器1的时候,点击最大化或还原按钮时软件就在显示器1最大化或还原,如下图:
当软件界面的大部分在显示器2的时候,点击最大化或还原按钮时软件就在显示器2最大化或还原,如下图所示:
核心代码如下:
void MaxPicShowForm::MaxSizeWindow()
{
QDesktopWidget* desktopWidget = QApplication::desktop();
int nScreenNumber = desktopWidget->screenNumber(this);
QRect iClientRect = desktopWidget->availableGeometry(nScreenNumber);
this->setGeometry(iClientRect);
}
void MaxPicShowForm::NormalSizeWindow()
{
QDesktopWidget* desktopWidget = QApplication::desktop();
int nScreenNumber = desktopWidget->screenNumber(this);
QRect iClientRect = desktopWidget->availableGeometry(nScreenNumber);
QRect targRect = QRect(iClientRect.x()+iClientRect.width()/4,iClientRect.y()+iClientRect.height()/4,iClientRect.width()/2,iClientRect.height()/2);
this->setGeometry(targRect);
}
这个功能在我上传的图片查看器软件里面有,源码连接: