在第二台显示器上启动程序(Qt框架)

Dan*_*ray 6 qt qt4

我正在编写一个程序(仅用于学习目的,我想学习C++)在Qt框架中.是否可以将多少台显示器连接到我的计算机并使程序在不同的显示器上启动?我想在"属性"菜单中有一个选项,我可以告诉哪个监视器显示该程序.

我在Qt开发者维基中找不到任何东西,也许你们可以帮我提供关于如何做到这一点的文档?

谢谢

Mar*_*ett 13

您可以使用QDesktopWidget获取监视器数量和总屏幕大小,例如.

QDesktopWidget *desktop = QApplication::desktop();
if ( 1==desktop->screenCount()  ) {
    // single monitor - use built in
    showFullScreen();
} else {    
    QRect rect = desktop->screenGeometry(1);
    move(rect.topLeft());
    setWindowState(Qt::WindowFullScreen);       
}
Run Code Online (Sandbox Code Playgroud)


Kal*_*son 8

您可以使用QDesktopWidget识别连接到计算机的屏幕数量,然后检索每个屏幕的几何图形:

if (desktopWidget->screenCount() > 1)
{
    QRect geom = desktopWidget->screenGeometry(1);
    // do something useful with this information
}
Run Code Online (Sandbox Code Playgroud)

您可能还想检查它是否是虚拟桌面,但这对您的用户可能无关紧要.