2013-02-05 1 views
2

시스템 (RHEL 6.3)에 이중 디스플레이 그래픽 카드가 있습니다.듀얼 헤드 그래픽 카드에서 qt-creator를 사용하여 다른 모니터에서 2 UI 실행

저는 두 개의 다른 UI를 던지는 qt creator (qt-4.8)를 사용하여 간단한 응용 프로그램을 개발했습니다.

이렇게하면 두 UI가 하나의 디스플레이에서 시작됩니다.

필요한 것은 내 UI가 기본 화면과 보조 화면 (예 : 0.0과 0.1)에서 실행되어야한다는 것입니다.

qt-creator를 사용하여 어떻게해야합니까?

xclock -display :0.0 
xclock -display :0.1 

잘 작동합니다.

답변

1

테자스

가 사용할 수있는 보조 모니터에 두 번째 UI를 표시하려면 : 지정된 화면을 사용할 수없는 경우 예를 들어, 다음 코드는 지정한 스크린 또는 기본 하나에 위젯을 이동 두 번째 UI의 setParent 속성은 다음과 같습니다.

int screenNumber = 1;/* 원하는 화면 번호 */

QWidget secondaryUI_widget;/* 보조 모니터에 표시 할 보조 UI 객체 */

QDesktopWidget myDesktopWidget;/* QDesktopWidget의 객체 만들기 */

secondUI_myDesktopWidget.setParent (myDesktopWidget (screenNumber));

위의 줄은 페이지를 UI 개체의 부모로 표시하려는 원하는 화면을 설정합니다. 이제 프로그램에서 두 번째 UI에 대해 show() 함수를 호출 할 수 있습니다. 두 번째 UI는 원하는 화면 번호에 screenNumber 값으로 표시됩니다.

+0

고맙습니다 @Abhishek, 내 문제가 해결되었습니다. – Tejas

2

QDesktopWidget을 사용하면 화면 정보를 얻을 수 있습니다. 화면 크기와 각 화면의 크기를 쿼리 할 수 ​​있습니다.

int QDesktopWidget::screenCount() const; 
const QRect QDesktopWidget::availableGeometry (int screen = -1) const; 

거기에서 위젯을 특정 화면으로 이동할 수 있습니다.

QDesktopWidget* w = QApplication::desktop(); 
//some value 
int mydesiredscreen = 1; 
//fallback to default screen if none 
if(mydesiredscreen >= w->screenCount()) mydesiredscreen = -1; 

QRect rect1 = w->availableGeometry(mydesiredscreen); 
mywindow->move(rect1.topLeft()); 
관련 문제