Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
1

Как растянуть окно по высоте монитора?

25.03.2017, 14:51. Показов 2171. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сабж в теме, единственное что нашел это
C++ (Qt)
1
2
 QRect height = QApplication::desktop()->availableGeometry(this);
  resize(1000, height.height());
но окно вылазит за мню пуск
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2017, 14:51
Ответы с готовыми решениями:

Растянуть окно больше монитора
Итак у меня есть монитор 1280*720 или около того точно не помню.. квадратик такой.. И есть.. ай...

Как растянуть li по высоте
Может кто подскажет, столкнулся я с такой такой задачей. Есть блок ul в нем находиться порядка 4-5...

Как растянуть див по высоте
Как растянуть див по высоте если элементы внутри него сфлоачены. Текст и картинка сползают вниз а...

Как растянуть картинку по высоте?
Ребята такая проблема я хочу сделать фоном картинку. но выходит что в моём случае берутся картинка...

14
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
25.03.2017, 17:13 2
Ты размер рабочей области окна задаёшь, надо поправку на frame делать. Почитай про Window geometry в справке.
0
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
25.03.2017, 19:37  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
Ты размер рабочей области окна задаёшь, надо поправку на frame делать. Почитай про Window geometry в справке.
почитал, ничего путного там нет, фрейм то еще ладно, каким образом я узнаю высоту меню пуск?
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
25.03.2017, 19:52 4
mh-coder, смотри в сторону pixelMetric PM_.......
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
26.03.2017, 10:42 5
А например
C++ (Qt)
1
QApplication::desktop ()->height ()
0
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
26.03.2017, 10:47  [ТС] 6
Цитата Сообщение от Байт Посмотреть сообщение
mh-coder, смотри в сторону pixelMetric PM_.......
что я там должен найти?

Добавлено через 2 минуты
Цитата Сообщение от Peoples Посмотреть сообщение
А например
C++ (Qt)
1
QApplication::desktop ()->height ()
таже самая высота всего монитора
0
Эксперт .NET
11071 / 6988 / 1571
Регистрация: 25.05.2015
Сообщений: 21,075
Записей в блоге: 14
26.03.2017, 11:22 7
Лучший ответ Сообщение было отмечено mh-coder как решение

Решение

mh-coder,
Размеры рабочего стола:
C++ (Qt)
1
QRect rect = QApplication::desktop()->availableGeometry();
Размеры фрейма окна:
C++ (Qt)
1
QRect frame = this->frameGeometry();
Размеры виджета в окне (т.е. без фрейма):
C++ (Qt)
1
QRect widget = this->geometry();
Установка положения виджета (исключая фрейм):
C++ (Qt)
1
this->setGeometry(............);
frameGeometry и geometry дают различные размеры после показа окна, когда фрейм виден.

Отсюда вычисляйте, как должен быть расположен виджет, чтобы занимать весь рабочий стол. С показом фрейма или без, по желанию.
2
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
26.03.2017, 11:44 8
Цитата Сообщение от mh-coder Посмотреть сообщение
таже самая высота всего монитора
А сколько функция выдаёт? 1080?
Не может, к примеру, проблема быть как описана здесь, в том, что рамка приложения у тебя не учитывается?

Добавлено через 53 секунды
Rius, БТП! опередил.
0
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
29.03.2017, 10:08  [ТС] 9
Цитата Сообщение от Rius Посмотреть сообщение
Отсюда вычисляйте, как должен быть расположен виджет, чтобы занимать весь рабочий стол. С показом фрейма или без, по желанию.
остается еще один момент, меню пуск, как его вычислить?
0
Эксперт .NET
11071 / 6988 / 1571
Регистрация: 25.05.2015
Сообщений: 21,075
Записей в блоге: 14
29.03.2017, 10:11 10
Посмотрите на данные, возвращаемые availableGeometry и вопрос отпадёт.

Добавлено через 1 минуту
Панель задач там учитывается.
0
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
29.03.2017, 10:17  [ТС] 11
Цитата Сообщение от Rius Посмотреть сообщение
Посмотрите на данные, возвращаемые availableGeometry и вопрос отпадёт.
Цитата Сообщение от Rius Посмотреть сообщение
Панель задач там учитывается.
чет не учитывается, почему?

C++ (Qt)
1
2
3
QRect rect = QApplication::desktop()->availableGeometry();
  QRect frame = this->frameGeometry();
  QRect widget = this->geometry();
Миниатюры
Как растянуть окно по высоте монитора?  
0
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
29.03.2017, 10:18  [ТС] 12
dell
0
Эксперт .NET
11071 / 6988 / 1571
Регистрация: 25.05.2015
Сообщений: 21,075
Записей в блоге: 14
29.03.2017, 10:19 13
Всё там учитывается.
Судя по всему, это ноутбук с матрицей 1366*768.
Судя по rect, панель задач в винде занимает 40 пикселей в высоту. И находится внизу рабочего стола.
1
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
29.03.2017, 10:47  [ТС] 14
Цитата Сообщение от Rius Посмотреть сообщение
Всё там учитывается.
Судя по всему, это ноутбук с матрицей 1366*768.
Судя по rect, панель задач в винде занимает 40 пикселей в высоту. И находится внизу рабочего стола.
ну ок,

Размеры фрейма окна:
C++ (Qt)
1
QRect frame = this->frameGeometry();
и

Размеры виджета в окне (т.е. без фрейма):
C++ (Qt)
1
QRect widget = this->geometry();
одинаковые, почему? фрейм там есть.

далее, QRect rect = QApplication::desktop()->availableGeometry();, учитывается меню пуск,
тогда по идее должен быть такой код

C++ (Qt)
1
2
3
  int difference = frameGeometry().height() - geometry().height();
  int height = QApplication::desktop()->availableGeometry().height() - difference;
  resize(1000,height);
и в итоге окно программы все равно заладит за меню пуск
0
Эксперт .NET
11071 / 6988 / 1571
Регистрация: 25.05.2015
Сообщений: 21,075
Записей в блоге: 14
29.03.2017, 11:03 15
Цитата Сообщение от mh-coder Посмотреть сообщение
одинаковые, почему? фрейм там есть.
Потому что вы невнимательно читаете.

Добавлено через 13 минут
Покажите окно, потом получите эти данные.
1
29.03.2017, 11:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2017, 11:03
Помогаю со студенческими работами здесь

Как растянуть div по высоте родителя
Здравствуйте. Мне нужно растянуть блок с контентом на сто процентов, на примере видно для чего...

Как растянуть тег DIV по всей высоте странице?
Как растянуть тег DIV по всей высоте странице? Мне нужно чтобы тег DIV, заполненный белым цветом...

VB 6 Как растянуть Picturebox по высоте до определенного контрола например label1 ?
Например label1 находится внизу, Picture1 находидтся выше и надо параметром picture1.height...

Растянуть по высоте
Хочется, чтобы страница занимала по высоте все окно браузера. По ширине работает вот такой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru