2012-02-06 4 views
0

Как можно управлять размером QmlApplicationViewer? Я использую QmlApplicationViewer в качестве пусковой установки для нанесения QML, и в QML, я установил размер как ...QmlApplicationViewer :: setFixedSize не отражает одинаковый размер в xwininfo

QmlApplicationViewer viewer; 
viewer.setFixedSize(1280,720); 

но на X11 стороны, если я запросить размер. он не соответствует размеру, запрашиваемому на стороне Cpp.

xwininfo -root -children | grep application_name 

может кто угодно рассказать, как я могу контролировать размер с помощью кода Qt/QML?

Заранее благодарим за любой отзыв.

+0

xwininfo, вероятно, включает оформление окна? Затем вам нужно учитывать QWidget :: frameGeometry. (frameGeometry(). height() - geometry(). height() должен дать вам высоту кадра и заголовка). –

+0

В моей конфигурации нет оконного менеджера или оконного оформления, он минимален X, работающий на руке с перекрестно скомпилированным Qt ... результаты равны по сравнению с 4.8, а также на Qt5 :(... –

ответ

0

Что один может делать, если один не может получить WM играть хорошо/или не имеет оконный менеджера, чтобы установить этот флаг на окне верхнего уровня сразу после конструкторы и перед setFixedSize ():

viewer.setWindowFlags (viewer.windowFlags() | Qt :: X11BypassWindowManagerHint);

Пожалуйста, обратите внимание на документацию для этого флага:.

«Обход оконного менеджера полностью Это приводит к безграничному окна, которое не управляемо (т.е. без ввода с клавиатуры, если вы вызов QWidget :: activateWindow() вручную). "