Полноэкранный интерфейс с различными размерами экрана в ПК Python - PullRequest
0 голосов
/ 21 декабря 2018

Ситуация:

  • Я делаю программное обеспечение, которое должно быть полноэкранным
  • Это все интерфейсы и интерфейсы.
  • Я хочу, чтобы он работал на компьютерах с экранами с разным разрешением - поэтому мне нужно, чтобы графический интерфейс пользователя соответствовал размеру экрана : текст будет меньше, если разрешение экрана меньше, но все равно будет всередина экрана
  • Я пытался не использовать числа при определении позиции текста, а вместо этого получить разрешение экрана и умножить его

Проблема:

Текст не становится меньше.

Вопрос:

Есть ли простое решение моей проблемы?Есть ли в Python модуль для этой цели?В настоящее время я использую WxPython , но я открыт для использования любого другого модуля графического интерфейса.

def Title(object):
    (sizeX, sizeY) = object.GetSize()
    (displayX, displayY) = wx.GetDisplaySize()
    print(displayX)
    print(displayY)
    print(sizeX)
    print(sizeY)
    object.SetPosition((displayX/2 - sizeX/2, displayY*0.01))

1 Ответ

0 голосов
/ 22 декабря 2018

Чтобы отрегулировать размер текста в соответствии с размером экрана, вам необходимо определить нестандартный размер шрифта.
Хотя я подозреваю, что размер шрифта по умолчанию уже будет приблизительно правильным, так как пользователь установитразмер системного шрифта, основанный на размере экрана.

Текущий размер шрифта можно получить следующим образом:

self.font = wx.SystemSettings.GetFont(wx.SYS_SYSTEM_FONT)
point_size = self.font.GetPointSize()

Определите новый, соответствующий размер шрифта на основе результата из wx.GetDisplaySize():

self.font.SetPointSize(new size)

Затем используйте SetFont(font) для элементов в вашем пользовательском интерфейсе:

self.panel.SetFont(self.font)
...