Nano Hash - криптовалюты, майнинг, программирование

Ширина и высота экрана Python tkinter вторичный дисплей

У меня настроен двойной монитор (экран ноутбука и внешний монитор). Экран моего ноутбука является моим основным дисплеем, а внешний монитор - второстепенным. Оба имеют разные размеры экрана.

В моем сценарии python tkinter я использовал winfo_screenwidth() и winfo_screenheight() для определения ширины и высоты экрана, чтобы я мог настроить корневое окно на полноэкранный режим.

Обычно, когда я запускаю свой скрипт, корневое окно будет размером с экран моего ноутбука. Когда я перемещаю окно на свой расширенный монитор, я хочу, чтобы оно автоматически настраивало ширину и высоту в соответствии с шириной и высотой внешнего дисплея.

Это возможно? Есть ли способ проверить, находится ли корневое окно на основном или дополнительном дисплее?

winfo_screenwidth() определяет ширину и высоту дополнительного дисплея?

РЕДАКТИРОВАТЬ: Я использую 32-разрядную версию Windows XP Pro и Python 2.7.

19.07.2013

  • Просто мое мнение, но я думаю, что изменение размера окна должно быть оставлено на усмотрение пользователя. Сделать окно полноэкранным можно всего одним щелчком мыши, так зачем заставлять это делать? 19.07.2013
  • @tobias_k Извините, я забыл упомянуть, что я использую свое собственное окно и отключил обычный стиль окна с помощью root.overrideredirect(1), поэтому на данный момент у меня нет кнопки развертывания по умолчанию. 19.07.2013
  • Здесь много ответов: stackoverflow.com/questions/3129322/ 20.07.2013

Ответы:


1

Как я это сделал:

t = Tk() # new window
t.update()
t.attributes("-alpha", 00)
t.state('zoomed') # maximize the window
height= t.winfo_height() # ...
width= t.winfo_width()

Но, к сожалению, я не знаю, где находится другой экран. Но я думаю, ты сможешь это сделать

  1. создать новое окно
  2. используйте winfo_screenheight () и winfo_screenwidth (), чтобы узнать об исходном экране
  3. используйте геометрию (), чтобы перемещать окно вокруг
  4. развернуть окно (оно всегда должно разворачиваться на том экране, где оно находится)
  5. получить геометрию ()
  6. если геометрия находится в (0, 0), это главный экран, переходите к 3.
  7. ты нашел другой экран
19.07.2013
  • вы имеете в виду, что t.state('zoomed') будет разворачивать корневое окно на экране, которое появляется при выполнении команды? Например, если корневое окно находится на главном дисплее, оно будет разворачиваться в соответствии с шириной и высотой основного дисплея, и то же самое применимо и к дополнительному дисплею? 20.07.2013
  • Точно. Я знаю, что это должно происходить под Windows. Я не могу говорить о других оконных менеджерах. Может быть, вы можете попробовать и узнать, работает ли оно. 20.07.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..