2013-02-25 4 views
0

나는 QMainWwindow을 가졌으며 크기를 고정했습니다.QMainWindow의 해상도 처리

즉, 창의 최소 및 최대 크기를 동일한 수로 설정했습니다.

아무도 다른 해상도로 다른 화면에서이 문제를 사용할 지 여부를 알려 줄 수 있습니까? 그렇다면 어떻게 처리해야합니까?

QMainWindow의 크기를 설정하는 다른 방법 (아마도 더 우아함)이 있다면 도움이됩니다.

UPDATE :

나는 다른 사람의 사이, 위젯 등의 QTableViewQMainWindow 있습니다. 기본 창을 확장하면 tableview가 나타나지 않고 비어있는 빈 공간이 남기 때문에 크기를 고정합니다.

크기를 조정할 수있는 경우 QMainWindow과 함께 QTableView 위젯을 확장하는 방법은 무엇입니까? 나는 중앙 위젯을 가지고 있는데,이 위젯은 수직 박스 레이아웃을 가지고 있으며,이 레이아웃에 하나의 가로줄과 QGridlayout을 가진 3 개의 위젯을 추가했습니다. 다른 하나는 QTableView입니다. QTableView는 자체적으로 레이아웃 안에 있지 않습니다.

이 테이블을 확장하기에 충분할 것이라고 생각했는데, QMainWindow이 확장되거나 축소되었지만 발생하지는 않습니다.

어떻게해야합니까? 즉, QTableView도 확장할까요?

감사합니다.

+0

http://stackoverflow.com/questions/8594969/get-physical-screen-size-in-qt 도움이 될 것입니다. – vipw

답변

1

크기가 화면에서 처리 할 수있는 것보다 큰 것으로 고정하면 문제가됩니다. 화면 크기에 따라 창의 크기를 조절하는 다양한 방법이 있습니다. .

QRect screenGeometry = QApplication::desktop()->screenGeometry(); 

당신을 : 나는 바탕 화면 위젯을 (이 위젯은 실제로 여러 화면을 포함 할 수 있습니다 #include <QDesktopWidget>해야 할 수도 있습니다, 그래서 당신은 단지 현재 화면을 원한다면, 당신이 단지 수 반환 QApplication::desktop()을 사용하는 것이 좋습니다 QDesktopWidget::availableGeometry()을 사용할 수도 있습니다.

Qt 사용자들 사이에는 고정 된 크기의 창의 싫어하는 점이 많습니다. 대부분 창의 크기를 조정할 수있는 유연성이 뛰어난 Qt 레이아웃 시스템을 최대한 활용하는 것이 좋습니다. 모든 프로젝트가 다르기 때문에 반드시해야한다고 말하는 것은 아니지만 살펴볼 가치가 있습니다.

+0

도움 주셔서 감사합니다. 나는 확실히 그런 방식으로 그것을 확인할 것입니다. 나는 다른 것들 중에서 위젯으로'QTableView'를 가진'QMainWindow'를 가지고 있습니다. 기본 창을 확장하면 tableview가 나타나지 않고 비어있는 빈 공간이 남기 때문에 크기를 고정합니다. 크기를 조정할 수 있다면'QMainWindow'와 함께'QTableView' 위젯을 어떻게 확장합니까? – user1173240

+0

귀하의 QTableView는 QLayout 안에 있습니까? – Anthony

+0

중앙 위젯입니다.이 위젯은 수직 상자 레이아웃을 가지고 있으며이 레이아웃에는 3 개의 위젯이 추가되었습니다. 하나는'QGridlayout', 하나는 가로선, 다른 하나는'QTableView '입니다. 'QTableView'는 그 자체로 레이아웃 안에 있지 않습니다. 'QTableView'에 별도의 레이아웃을 추가해야합니까? 어느 것을 추가해야합니까? – user1173240