Qt

2010-07-08 27 views
14

kullanarak ikincil monitörde tam ekran penceresi görünür. Yerel denetimlerde (bkz. here ve here) mümkün görünüyor, şimdi bunu yapmak için bazı Qt kodu arıyorum.Qt

cevap

15

Sonra,

QRect screenres = QApplication::desktop()->screenGeometry(1/*screenNumber*/); 
SecondDisplay secondDisplay = new SecondDisplay(); // Use your QWidget 
secondDisplay->move(QPoint(screenres.x(), screenres.y())); 
secondDisplay->resize(screenres.width(), screenres.height()); 
secondDisplay->showFullScreen(); 
+1

Bu, Qt5'te daha uzun çalışmıyor. QWidget ilk ekranda gösterilir. – user502144

+0

Onaylanmadı Qt5. Tam ekran ayarlandıktan sonra pencereyi hareket ettirmek işe yarayacaktır. – eozgonul

+0

Bu kodla ilgili problem, ekran boyutlarının değişebileceği ve ekran çözünürlüğü ile tam çözünürlüğü bölen ekran kararlarına bağlı olarak çalışabilecek bir kumar oyunudur. –

3

showFullScreen ilk olarak Windows & Linux hem başarıyla tam ekran setGeometry ikinci ekran için bu kodu kullanın. Qt5 bunu yapmanın

auto const desktop(QApplication::desktop()); 

    setGeometry(desktop->screenGeometry(1)); 

#ifndef Q_OS_WIN 
    setWindowState(Qt::WindowState(Qt::WindowFullScreen | windowState())); 
#endif // Q_OS_WIN 
+0

Bir kod örneği eklemeyi düşünür müsünüz? Cevabınızı daha değerli hale getirir. –

+0

Aslında bu çalışmaz, SetGeometry çağırdığınızda WindowState NoState'e döndürülür. – eozgonul

3

My take test etti. QWidget, QWindow işaretçisini döndüren bir windowHandle() sahiptir. İşte

tam ekran modunda ikinci ekranda Widget'ınızı göstermek için yapılması gerekenler: yerine gösterisi>, Window ait), Window> showFullScreen (kullanırken

QWidget * widget = new QWidget(); 
widget->show(); 
widget->windowHandle()->setScreen(qApp->screens()[1]); 
widget->showFullScreen(); 
9

Tek yön penceresi gösterilmesi gereken hangi ekranı ayarlamak için QWindow::setScreen kullanmaktır:

Qt5 bu OK