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()'使它自動居中。但要計算其大小,您還需要查找屏幕尺寸。 –