wxpython中文教程之配置程序设置入门

发布时间:2020-10-12编辑:脚本学堂
有关wxpython中配置程序设置的方法,wxpython中文教程学习,如何为wxpython程序进行相关设置,不了解的朋友参考下。

wxpython程序中自定义配置,用户可以开启或关闭工具提示、改变字体、改变默认下载路径等等.

大多数程序都有一个叫做“选项(preferences)”的菜单项. 应用程序设置会保存到硬盘,因此用户不必每次在应用程序启动时去修改配置.[more…]

在 wxPython 中,有个 wx.Config 类来完成这方面的事情.
linux 系统中,设置保存在一个简单的隐藏文件中. 该文件默认位于用户主目录下(home directory). 当然配置文件的位置是可以改变的. 文件名在 wx.Config 类的构建器用指定.

专题:wxpython中文教程

wxpython程序中自定义配置1
 wx.Config.methods

以下例子中,可以配置窗口大小. 如果没有配置文件,窗口的高和宽被设置成默认的 250 像素.
用户可以在 200-500 像素范围内设置窗口的宽和高.

在保存了设定值后,在重启程序,窗口尺寸将设置为设定的大小.

例子 :
 

复制代码 代码示例:

#!/usr/bin/python
#coding=utf-8

#myconfig.py

import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, id, title):
        self.cfg = wx.Config('.myconfig')
        if self.cfg.Exists('width'):
            w, h = self.cfg.ReadInt('width'), self.cfg.ReadInt('height')
        else:
            (w, h) = (250, 250)
        wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition,
                          wx.Size(w, h))
       
        wx.StaticText(self, -1, '宽:', (20, 20))
        wx.StaticText(self, -1, '高:', (20, 70))
        self.sc1 = wx.SpinCtrl(self, -1, str(w), (80, 15), (60, -1),
                               min=200, max=500)
        self.sc2 = wx.SpinCtrl(self, -1, str(h), (80, 65), (60, -1),
                               min=200, max=500)
        wx.Button(self, 1, '保 存', (20, 120))
       
        self.Bind(wx.EVT_BUTTON, self.OnSave, id=1)
        self.statusbar = self.CreateStatusBar()
        self.Center()
       
    def OnSave(self, event):
        self.cfg.WriteInt("width", self.sc1.GetValue())
        self.cfg.WriteInt("height", self.sc2.GetValue())
        self.statusbar.SetStatusText('Configuration Saved, %s' % wx.Now())     
     
class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, 'myconfig.py')
        frame.Show(True)
        self.SetTopWindow(frame)
        return True
   
app = MyApp(0)
app.MainLoop()

这个例子中配置文件内容. 它有两个键值对:
$ cat .myconfig
width=500
height=400

如图:
wxpython程序中自定义配置2

图:myconfig.py