2
我有一个小型LCD屏幕,打开的文件对话框太大。 有没有办法指定一个固定大小?如何设置wx.FileDialog窗口大小?
dlg = wx.FileDialog(self, _("Open file to print"), basedir, style = wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
问候 朱塞佩
我有一个小型LCD屏幕,打开的文件对话框太大。 有没有办法指定一个固定大小?如何设置wx.FileDialog窗口大小?
dlg = wx.FileDialog(self, _("Open file to print"), basedir, style = wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
问候 朱塞佩
你可以尝试调用对话框的setSize()方法的大小元组。但是,如果默认对话框不支持调整大小,这可能无法正常工作。例如,在Windows上,我无法通过非常多的方式减少创建对话框的大小。下面是一些代码供您使用,虽然玩:
import wx
########################################################################
class MyFrame(wx.Frame):
""""""
#----------------------------------------------------------------------
def __init__(self):
"""Constructor"""
wx.Frame.__init__(self, None, title="Dialogs")
panel = wx.Panel(self)
btn = wx.Button(panel, label="Open Dialog")
btn.Bind(wx.EVT_BUTTON, self.openFileDlg)
#----------------------------------------------------------------------
def openFileDlg(self, event):
""""""
wildcard = "Python source (*.py)|*.py|" \
"All files (*.*)|*.*"
dlg = wx.FileDialog(
None, message="Choose a file",
defaultDir="/",
defaultFile="",
wildcard=wildcard,
style=wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR
)
dlg.SetSize((100,100))
if dlg.ShowModal() == wx.ID_OK:
paths = dlg.GetPaths()
print "You chose the following file(s):"
for path in paths:
print path
dlg.Destroy()
#----------------------------------------------------------------------
if __name__ == "__main__":
app = wx.App(False)
frame = MyFrame()
frame.Show()
app.MainLoop()
我在X11下工作,似乎对话不可调整大小,我的LCD是7英寸,我的主要应用程序正确显示在1280x720。 但是,我通过改变对话框的样式部分解决了问题,即不可见部分减少了。 非常感谢您的支持 问候 – user3385240
这是一个正常的窗口......你可以叫'dlg.SetSize(wx.Size(sizew,sizeh))'来设置其大小。你也可以尝试'dlg.Center()'使它自动居中。但要计算其大小,您还需要查找屏幕尺寸。 –