Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Изменение размера окна на дисплеях с разным разрешением PyQt [RSS Feed]

#1 Апрель 17, 2014 19:18:57

to_night
От: Киев
Зарегистрирован: 2013-12-12
Сообщения: 58
Репутация: +  1  -
Профиль   Отправить e-mail  

Изменение размера окна на дисплеях с разным разрешением PyQt

Если задать принудительно размер виджета в PyQt, то на разных дисплеях, с разным разрешением, окно приложения выглядит по-разному (также различен физический размер пикселей). Нужно добиться более-менне одинакового вида окна приложения на разных экранах. Как можно сделать это изящнее?

Офлайн

#2 Апрель 18, 2014 07:37:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9727
Репутация: +  843  -
Профиль   Отправить e-mail  

Изменение размера окна на дисплеях с разным разрешением PyQt

инфу об экране можно брать из PyQt4.QtGui.QDesktopWidget()



Офлайн

#3 Апрель 19, 2014 00:31:34

to_night
От: Киев
Зарегистрирован: 2013-12-12
Сообщения: 58
Репутация: +  1  -
Профиль   Отправить e-mail  

Изменение размера окна на дисплеях с разным разрешением PyQt

py.user.next
инфу об экране можно брать из PyQt4.QtGui.QDesktopWidget()
И прописывать для каждого разрешения свой размер? Так будет корректно?

        
geometry = QtGui.QDesktopWidget().screenGeometry()
if geometry == QtCore.QRect(0, 0, 1400, 1050):
    width = 900, width = 600 # px
elif geometry == QtCore.QRect(0, 0, 1024, 750):
     height = 700, width = 400  # px
self.setMinimumSize(height, width)

Отредактировано to_night (Апрель 19, 2014 00:32:06)

Офлайн

#4 Апрель 19, 2014 01:49:54

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9727
Репутация: +  843  -
Профиль   Отправить e-mail  

Изменение размера окна на дисплеях с разным разрешением PyQt

to_night
И прописывать для каждого разрешения свой размер?
не, сначала вычисляешь “единицы”, а потом ставишь в них

например, делишь ширину на 100 и высоту на 100 - получаешь единицу ширины в пикселях и единицу высоты в пикселях
(это процент ширины и процент высоты, но можно и мельче/крупнее масштабировать)
а потом ставишь ширину - 40 единиц, высоту - 30 единиц

у тебя две функции: одна пиксели переводит в единицы, а другая - единицы в пиксели
для начала этого хватит; а вообще, нужно сделать исполнителя, который отвечает за вычисления, и спрашивать у него



Отредактировано py.user.next (Апрель 19, 2014 01:51:55)

Офлайн

  • Начало
  • » GUI
  • » Изменение размера окна на дисплеях с разным разрешением PyQt[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version