Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: kadr от Ноябрь 17, 2009, 09:42



Название: Окно программы, при разном разрешении
Отправлено: kadr от Ноябрь 17, 2009, 09:42
Привет всем у меня вот возникла такая проблема, сделал программку, работал на 19 дюймовом монике с разрешением 1280х1024, сейчас поставил программу на другой компьютер, а там разрешение 800х600, и программа, а точнее окно программы не умещается на экране, как можно сделать так что бы окно масштабировалось само в зависимости от разрешения компьютера, при меньшем разрешении уменьшалось и наоборот при большем разрешении!


Название: Re: Окно программы, при разном разрешении
Отправлено: Павел_F. от Ноябрь 17, 2009, 09:55
Все элементы выстраивай лайаутами, контролируя размеры( чтоб влезли на маленькое окно).
Вот разрешение экрана:
Код:
  x = QApplication::desktop()->screen( 0)->width();
  y = QApplication::desktop()->screen( 0)->height();
В зависимости от него задавай минимальный/максимальный размер окна.


Название: Re: Окно программы, при разном разрешении
Отправлено: kadr от Ноябрь 18, 2009, 09:12
Все элементы выстраивай лайаутами, контролируя размеры( чтоб влезли на маленькое окно).
Вот разрешение экрана:
Код:
  x = QApplication::desktop()->screen( 0)->width();
  y = QApplication::desktop()->screen( 0)->height();
В зависимости от него задавай минимальный/максимальный размер окна.
Попробовал сделать так, выдает ошибку: invalid use of member (did you forget the `&' ?)


Название: Re: Окно программы, при разном разрешении
Отправлено: lit-uriy от Ноябрь 18, 2009, 09:15
ну псмотри в документацию, может и правда забыл &


Название: Re: Окно программы, при разном разрешении
Отправлено: Павел_F. от Ноябрь 18, 2009, 09:20
У меня этот код работает.
Может в инклюдах забыл QApplication и QDesktopWidget?


Название: Re: Окно программы, при разном разрешении
Отправлено: Авварон от Ноябрь 18, 2009, 10:24
обычно такое пишет когда забываешь () у функции: screen( 0)->width;


Название: Re: Окно программы, при разном разрешении
Отправлено: kadr от Ноябрь 18, 2009, 10:35
У меня этот код работает.
Может в инклюдах забыл QApplication и QDesktopWidget?
Да нет у меня они подключены, а вот в проект случаем ничего не надо подключать?


Название: Re: Окно программы, при разном разрешении
Отправлено: kadr от Ноябрь 18, 2009, 10:36
x и y должны быть какого типа int?


Название: Re: Окно программы, при разном разрешении
Отправлено: kadr от Ноябрь 18, 2009, 10:38
x = QApplication::desktop()->screen( 0)->width(); Вот как я написал!


Название: Re: Окно программы, при разном разрешении
Отправлено: Павел_F. от Ноябрь 18, 2009, 10:38
проект qmake мне сделал, сам ничего не добавлял. х,у у меня инты.


Название: Re: Окно программы, при разном разрешении
Отправлено: lit-uriy от Ноябрь 18, 2009, 10:39
>>x и y должны быть какого типа int?
посмотри в документации, на те функции, которые используешь.

П.С. 1,5 часа потерял на вопросы в форуме, вместо 15 мин. в Асистенте.


Название: Re: Окно программы, при разном разрешении
Отправлено: kadr от Ноябрь 18, 2009, 10:40
Вывод компилятора
mainwindow.cpp: In constructor `MainWindow::MainWindow(QWidget*)':
mainwindow.cpp:67: error: invalid use of member (did you forget the `&' ?)
mainwindow.cpp: In member function `void MainWindow::on_pushButton_clicked()':


Название: Re: Окно программы, при разном разрешении
Отправлено: Павел_F. от Ноябрь 18, 2009, 11:33
Ну раз так то дай твой код. У меня это прекрасно работает.
По фотографии гадать я не умею.


Название: Re: Окно программы, при разном разрешении
Отправлено: kadr от Ноябрь 18, 2009, 12:09
Все отбой, все спасибо, оказывается он воспринимает x, y, когда они объявлены как глобальные переменные!