Форум сайта python.su
oDoDoну самый простой это использовать ткинтер, так как он входит в стандартную библиотеку Python, шанс что гдето есть пайтон и нет ткинтера стремиться к нулю..(мы говорим про “нормальные” ОСи а не экзотику типа OpenVMS или HP-UX)
Должен же быть какой то код для определения центра который возможно использовать вне зависимости от ОС?
import tkinter root = tkinter.Tk() width = root.winfo_screenwidth() height = root.winfo_screenheight()
[code python][/code]
Офлайн
FishHook
Я уверен, что вопрос ТСа не уходит столь глубоко в философию.
oDoDoОтвет простой, не должен существовать такой метод. У вас есть окно, в ней канва, на ней и рисуйте. А как это окно расположено на дисплее это не ваше дело, это выбирает пользователь приложения, так принято в большинстве GUI приложений. Если сделаете иначе это вызовет отторжение у пользователей, поскольку они привыкли к другому поведению приложений.
Должен же быть какой то код для определения центра
Отредактировано doza_and (Июнь 12, 2020 10:57:48)
Офлайн
oDoDo
Должен же быть какой то код для определения центра который возможно использовать вне зависимости от ОС?
oDoDoесли вы находитесь в ОС вы от нее уже зависите.
использовать вне зависимости от ОС
Офлайн
xam1816можно конечно полезть в EDID монитора, там много чего интересного можно наокпать:
Вне зависимости от вида ОС можно получить информацию о матрице экрана,из дампа который хранится в микросхеме памяти на самой плате этой матрицы.
doza_andну почемуже, вполне нормальный кейс, когда ГУИ приложение при запуске опрашивает систему на предмет выставленого разрешения. Не вижу в этом ничего криминального.
нормальное приложение не должно использовать понятие центр экрана, кроме экзотических крайне редких случаев.
[code python][/code]
Офлайн
doza_andДопустим я хочу вывести несколько окон(4) чтобы они не пересекались, но не зная того же разрешения экрана я могу расположить их за пределом рабочего стола. Если вести отчет от центра и взять за основу минимальное разрешение, то таких проблем не будет.
Если сделаете иначе это вызовет отторжение у пользователей, поскольку они привыкли к другому поведению приложений.
xam1816Думаю это не будет лишним, где про это можно почитать?
А вам это надо?Вне зависимости от вида ОС можно получить информацию о матрице экрана,из дампа который хранится в микросхеме памяти на самой плате этой матрицы.
Офлайн
> Не получилось запустить ваш пример (
Какие были ошибки?
> шанс что гдето есть пайтон и нет ткинтера стремиться к нулю..
Ну например на Debian-е он до устанавливается отдельным пакетом, который обычно никто не ставит
Офлайн
RodegastКак раз пару месяцев назад ставил последний дебиан на бук (base system+xfce),сейчас проверил и там таки ткинтер откудато взялся, хотя я его не ставил 100%. Хотя вполне возможно, что он туда пролез в виде зависимости к какому-нить другому пакету, который я таки ставил, все уже не упомню, так что настаивать не буду.
Ну например на Debian-е он до устанавливается отдельным пакетом, который обычно никто не ставит
[code python][/code]
Отредактировано PEHDOM (Июнь 12, 2020 17:30:03)
Офлайн
PEHDOMIDLE
Хотя вполне возможно, что он туда пролез в виде
Отредактировано AD0DE412 (Июнь 12, 2020 20:14:56)
Офлайн
AD0DE412неа, вот его как раз нету “изкаробки” в дебиане…
IDLE
[code python][/code]
Офлайн
oDoDoДля каждой операционной системы должен быть свой дистрибутив программы. В каждом из дистрибутивов программы есть кроссплатформенный код, а есть код, индивидуальный для той системы, где он будет запускаться. Все такие места, где код различается, выносятся в отдельные функции, которые потом реализуются абсолютно по-разному. Так же и сам питон сделан. Функция питона open() в Linux реализована совсем не так, как функция питона open() в Windows. Эти системы по-разному файлы открывают, поэтому питон должен по-разному просить эти системы открыть файл. Они только вызываются одинаково (ну, не “одинаково”, а “похоже до такой степени, что это выглядит одинаково”), при этом работают они абсолютно по-разному.AD0DE412И что делать? Центр то как тогда найти?
это оs зависимая функция
Как то же можно узнать размер дисплея?
В разных ОС по разному узнается размер дисплея?
Отредактировано py.user.next (Июнь 12, 2020 22:28:42)
Офлайн