gpt4 book ai didi

python - 如何动态缩小或增长面板内容?

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:47 24 4
gpt4 key购买 nike

我在使程序面板适应低分辨率时遇到问题。就像如果我的分辨率为 800 x 600,而我的面板比该分辨率大,那么所有内容都会被切断,尤其是屏幕底部的按钮。

所以,我做了一个模拟程序作为例子:

import wx

MAIN_FRAME_SIZE = (190, 150)

class MainFrame(wx.Frame):

def __init__(self):

wx.Frame.__init__(self, None, id = -1, title = 'Hello, World!', size = MAIN_FRAME_SIZE)

vertBox = wx.BoxSizer(wx.VERTICAL)

staticText = wx.StaticText(self, label = 'Hello, World!')

vertBox.Add(staticText, 0, wx.ALL, 40)

self.SetSizer(vertBox)

if __name__ == '__main__':
app = wx.App()
frame = MainFrame()
frame.Show(True)
app.MainLoop()

所以,我的问题是如何制作“Hello, World!”当 MainFrame 变大时,文本也会变大,当 MainFrame 变小时,我该如何做同样的事情?

谢谢。

最佳答案

您可以使用一些启发式方法根据框架大小选择字体大小,或者您可以使用 GetTextExtent() 计算字符串的长度,并找到其等于的字体大小你想要的。

要在调整框架大小时动态执行此操作,您需要捕获 wxEVT_SIZE 并在其处理程序中更改字体。

关于python - 如何动态缩小或增长面板内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44419551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com