Russian Qt Forum
Июля 08, 2025, 08:53
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Размер экрана?????
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Размер экрана????? (Прочитано 20367 раз)
shulgaserj
Гость
Размер экрана?????
«
:
Июня 02, 2011, 19:36 »
Здравствуйте!
Подскажите как в QT получить размер экрана программно?
Типа ширину х длину с учетом уже имеющихся на экране панели задач винды?
QT v.4.7.2 MinGW.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Размер экрана?????
«
Ответ #1 :
Июня 02, 2011, 19:39 »
QRect QDesktopWidget::screenGeometry() - полный экран, QRect QDesktopWidget::availableGeometry() - область без панели задач
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
shulgaserj
Гость
Re: Размер экрана?????
«
Ответ #2 :
Июня 02, 2011, 20:35 »
Попробовал
QScreenRect = QDesktopWidget::screenGeometry(QDesktopWidget::screenNumber(0));
QScreenRect = QDesktopWidget::availableGeometry(1):
ошибка следующая
C:/Project/05-build-desktop/../05/mainwindow.cpp:9: ошибка: cannot call member function 'int QDesktopWidget::screenNumber(const QWidget*) const' without object
C:/Project/05-build-desktop/../05/mainwindow.cpp:10: ошибка: cannot call member function 'const QRect QDesktopWidget::availableGeometry(int) const' without object
Что напартачил?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Размер экрана?????
«
Ответ #3 :
Июня 02, 2011, 20:50 »
QApplication::desktop()->screenGeometry(QDesktopWidget::screenNumber(0));
QApplication::desktop()->availableGeometry(1);
А вообще-то нужно читать, что выводит компилятор:
Цитировать
cannot call member function 'int QDesktopWidget::screenNumber(const QWidget*) const' without object
что в переводе на русский С++ означает, что класс QDesktopWidget не имеет статической функции screenNumber().
«
Последнее редактирование: Июня 02, 2011, 20:54 от GreatSnake
»
Записан
Qt 5.11/4.8.7 (X11/Win)
shulgaserj
Гость
Re: Размер экрана?????
«
Ответ #4 :
Июня 02, 2011, 21:05 »
Спасибо!
Помогло!
Но проблема осталась! Создается основное окно, QWidget, нижняя граница окна все равно за панелью задачь.
Что не так сделал?
Записан
shulgaserj
Гость
Re: Размер экрана?????
«
Ответ #5 :
Июня 02, 2011, 21:12 »
Цитата: GreatSnake от Июня 02, 2011, 20:50
QApplication::desktop()->screenGeometry(QDesktopWidget::screenNumber(0));
QApplication::desktop()->availableGeometry(1);
А вообще-то нужно читать, что выводит компилятор:
Цитировать
cannot call member function 'int QDesktopWidget::screenNumber(const QWidget*) const' without object
что в переводе на русский С++ означает, что класс QDesktopWidget не имеет статической функции screenNumber().
Сижу в хелпе прямо с кодом!
Там написано
const QRect QDesktopWidget::availableGeometry ( int screen = -1 ) const
Returns the available geometry of the screen with index screen. What is available will be subrect of screenGeometry() based on what the platform decides is available (for example excludes the dock and menu bar on Mac OS X, or the task bar on Windows). The default screen is used if screen is -1.
See also screenNumber() and screenGeometry().
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Размер экрана?????
«
Ответ #6 :
Июня 02, 2011, 21:14 »
Ну а чего не показываешь как выставляешь геометрию? Код давай.
И, кстати, зачем передаешь "скрины" в аргументах? Чем не устроили дефолтные значения?
«
Последнее редактирование: Июня 02, 2011, 21:18 от GreatSnake
»
Записан
Qt 5.11/4.8.7 (X11/Win)
shulgaserj
Гость
Re: Размер экрана?????
«
Ответ #7 :
Июня 02, 2011, 21:18 »
Вот:
#include "mainwindow.h"
#include <QDesktopWidget>
#include <QRect>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QScreenRect = QApplication::desktop()->availableGeometry(1);
// setMinimumSize(QScreenRect.width(),QScreenRect.height());
// setMaximumSize (QScreenRect.width(),QScreenRect.height());
resize (QScreenRect.width(),QScreenRect.height());
}
MainWindow::~MainWindow()
{
}
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Размер экрана?????
«
Ответ #8 :
Июня 02, 2011, 21:20 »
попробуй так:
Код
C++ (Qt)
setGeometry
(
QApplication
::
desktop
(
)
->
availableGeometry
(
)
)
;
Записан
Qt 5.11/4.8.7 (X11/Win)
shulgaserj
Гость
Re: Размер экрана?????
«
Ответ #9 :
Июня 02, 2011, 21:25 »
В отладчике следующее показывает:
Наблюдаемые
QScreenRect
x1 0
x2 1679-> выход за границы экрана
y1 0
y2 989 -> выход за границы экрана
Записан
shulgaserj
Гость
Re: Размер экрана?????
«
Ответ #10 :
Июня 02, 2011, 21:28 »
Цитата: GreatSnake от Июня 02, 2011, 21:20
попробуй так:
Код
C++ (Qt)
setGeometry
(
QApplication
::
desktop
(
)
->
availableGeometry
(
)
)
;
Ого открылось окно ...... что даже стандартных,close, не видно не говоря оназвании проги!
Записан
shulgaserj
Гость
Re: Размер экрана?????
«
Ответ #11 :
Июня 03, 2011, 09:42 »
Подскажите плиз что больше вариантов нету по поводу окна на весь экран?
Или что подгонять под размер моника?
Записан
Mysterious
Гость
Re: Размер экрана?????
«
Ответ #12 :
Июня 03, 2011, 09:59 »
Окно на весь экран:
setWindowState(Qt::WindowMaximized);
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Размер экрана?????
«
Ответ #13 :
Июня 03, 2011, 10:02 »
А так извращаться - это реальная необходимость?
Может достаточно QWidget::showMaximized()
Записан
Юра.
shulgaserj
Гость
Re: Размер экрана?????
«
Ответ #14 :
Июня 03, 2011, 20:07 »
Огромное спасибо все, кто откликнулся!
Попробую QWidget::showMaximized()
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...