PC Python中具有不同屏幕尺寸的全屏Gui

时间:2018-12-21 17:38:08

标签: python user-interface wxpython fullscreen

情况:

  • 我正在制作必须全屏显示的软件
  • 所有UI和界面。
  • 我希望它在具有不同分辨率屏幕的计算机上工作-因此,我需要GUI 调整为屏幕大小:如果屏幕分辨率较小,则文本会变小,但会仍然在屏幕中间
  • 我尝试过不使用数字来确定文本的位置,而是获取屏幕分辨率并将其相乘

问题:

文本不会变小。

问题:

我的问题有简单的解决方法吗? python中是否有用于此目的的模块?我目前正在使用 WxPython ,但可以使用任何其他GUI模块。

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 :(得分:0)

要调整文本大小以适合屏幕大小,必须定义自定义字体大小。
尽管我怀疑默认字体大小已经大致正确,但是用户将根据屏幕大小设置系统字体大小。

您可以按如下方式获取当前字体大小:

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)