2014-03-05 141 views
2

我有一个小型LCD屏幕,打开的文件对话框太大。 有没有办法指定一个固定大小?如何设置wx.FileDialog窗口大小?

dlg = wx.FileDialog(self, _("Open file to print"), basedir, style = wx.FD_OPEN | wx.FD_FILE_MUST_EXIST) 

问候 朱塞佩

+0

这是一个正常的窗口......你可以叫'dlg.SetSize(wx.Size(sizew,sizeh))'来设置其大小。你也可以尝试'dlg.Center()'使它自动居中。但要计算其大小,您还需要查找屏幕尺寸。 –

回答

0

你可以尝试调用对话框的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() 
+0

我在X11下工作,似乎对话不可调整大小,我的LCD是7英寸,我的主要应用程序正确显示在1280x720。 但是,我通过改变对话框的样式部分解决了问题,即不可见部分减少了。 非常感谢您的支持 问候 – user3385240