不确定我是否正确地询问了这个问题(例如,在正确的上下文中使用widget/object)。这段代码只是一个实验(现在就学习类和wxPython)——所以它作为函数代码可能没有意义。在
问题:我有一个允许用户指定宽度/高度的窗口/框架,并且有一个嵌套在窗口/框架内的多行文本框。最初,我将多行文本框的尺寸设置为与父框架相同的大小,但是滚动条被隐藏了,因为文本框的滚动条大于框架/文本框的大小。所以。。。我决定手动调整文本框的大小,以确保文本框的大小占到滚动条的大小(参见下面的代码,特别是“sizexTxt=sizex-17”和“sizeyTxt=sizey-44”)。在
问:除了手动逐像素调整文本框之外,是否有其他方法可以调整文本框?有没有什么建议可以被认为是Python?在
import wx
class myFrame(wx.Frame):
def __init__(self, parent, title, sizexy, sizexyTxt):
wx.Frame.__init__(self, parent, title=title, size=sizexy)
self.Show(True)
wx.TextCtrl(self, style=wx.TE_MULTILINE, size=(sizexyTxt))
pass
sizex = input("X= ")
sizey = input("Y= ")
sizexy=(sizex, sizey)
sizexTxt = sizex - 17
sizeyTxt = sizey - 44
sizexyTxt = (sizexTxt, sizeyTxt)
myApp = wx.App(False)
frameNow = myFrame(None,"This is my title", sizexy, sizexyTxt)
myApp.MainLoop()
杰克给你指出了一个正确的方向,但还有一件事。您应该知道进入框架的第一个对象被包装到基本的sizer中。问题是,据我所知,你无法控制这个尺寸。所以你必须增加你自己的尺寸,你可以用它来做框架装配。您需要控制sizer,因为您希望框架根据sizer更改其大小。在
您需要使用一个或多个sizer,然后指定wx.展开当添加时,使其水平适合尺寸wx.全部垂直安装。在
请在此处查看sizer文档:http://wiki.wxpython.org/Getting%20Started#Sizers
实际上,你可能想阅读整个Windows工作部分,非常有用。在
相关问题 更多 >
编程相关推荐