wxPython学习笔记
来源:互联网 发布:vb的注释符号 编辑:程序博客网 时间:2024/05/29 11:22
import wx
class App(wx.App): //定义wx.App的子类
defOnInit(self):
frame = wx.Frame(parent=None,title=’Bare’)
frame.Show()
return True
app = App() //创建wx.App子类(App)的实例,实例化
app.MainLoop()
------------------------------------------------------------
frame.Show(True) frame.Show(False)
更简单的实现方式:
app = wx.App()
frame = wx.Frame(None,-1,u"Just do it")
frame.Show()
app.MainLoop()
----------------------------------------------------------------------
#!/usr/bin/env python
import wx
class Frame(wx.Frame):
pass
class App(wx.App):
defOnInit(self):
self.frame= Frame(parent=None, title=’Spare’)
self.frame.Show()
self.SetTopWindow(self.frame)
returnTrue
if __name__ == ’__main__’:
app= App()
app.MainLoop()
SetTopWindow()方法是一个可选的方法,它让wxPython 方法知道哪个框架或对话框将被认为是主要的。一个wxPython程序可以有几个 框架,其中有一个是被设计为应用程序的顶级窗口的。
#!/usr/bin/env python
“””Hello, wxPython! program.”””
import wx
class Frame(wx.Frame): //定义wx.frame的子类
def __init__(self, image, parent=None, id=-1, pos=wx.DefaultPosition, title=’Hello, wxPython!’): temp = image.ConvertToBitmap() size = temp.GetWidth(), temp.GetHeight() wx.Frame.__init__(self, parent, id, title, pos, size) self.bmp = wx.StaticBitmap(parent=self, bitmap=temp)
class App(wx.App):
def OnInit(self): image = wx.Image(‘wxPython.jpg’, wx.BITMAP_TYPE_JPEG) self.frame = Frame(image)
self.frame.Show()
self.SetTopWindow(self.frame)
return True
def main():
app = App()
app.MainLoop()
if __name__ == ’__main__’:
main()
1、定义这个子类
2、在定义的子类中写一个OnInit()方法
3、在你的程序的主要部分创建这个类的一个实例
4、调用应用程序实例的MainLoop()方法。这个方法将程序的控制权转交给wxPython
使用wxFormBuilder:
import wx
import wx.xrc
class testFrame1(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"Test1", pos=wx.DefaultPosition, size=wx.Size(500, 300),
style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)
self.SetForegroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))
bSizer4 = wx.BoxSizer(wx.VERTICAL)
self.m_staticText1 = wx.StaticText(self, wx.ID_ANY, u"这是一个文本框", wx.DefaultPosition, wx.DefaultSize, 0)
self.m_staticText1.Wrap(-1)
self.m_staticText1.SetFont(wx.Font(13, 70, 90, 90, False, "STXinwei"))
bSizer4.Add(self.m_staticText1, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)
self.SetSizer(bSizer4)
self.Layout()
self.Centre(wx.BOTH)
def __del__(self):
pass
#增加以下代码,进入主程序
if __name__=='__main__':
app = wx.App()
frame=testFrame1(None)
frame.Show()
app.MainLoop()
接下来,尝试加入菜单:
Linux和Mac,菜单栏默认都是显示在最上方的。这点要注意。
至于按钮,选项卡等,用的时候再说。布局方面,有点像bootstrap,横切,纵切。接下来就是函数调用了。发现自己前端做出来会很丑,而web做桌面,一直没有一个通用的合适的框架,网易的HeX好像还可以,改天要试试看,如果web做跨平台桌面,能够调用python函数就好了,因为只会用python写函数。
感慨一下:什么时候XCode能够用原生swift,storyboard写跨平台桌面哇,swift写UI,python写算法,这大概就是我的开发理想了吧。
控件调用函数,大同小异,声明事件,链接函数,获取值。
- wxPython学习笔记一
- wxPython学习笔记二
- wxPython学习笔记三
- wxPython 学习笔记之一
- wxPython 学习笔记
- wxpython学习笔记
- wxpython学习笔记
- wxpython学习笔记
- python wxpython--学习笔记
- wxPython学习笔记
- wxPython学习笔记1
- wxpython 学习笔记 第一天
- wxPython学习笔记(一)
- wxPython学习笔记(二)
- wxPython学习笔记(三)
- wxPython学习笔记(四)
- wxpython学习笔记(一)
- wxpython in action 学习笔记1
- Leetcode Best Time to Buy and Sell Stock
- 在IntelliJ上操作GitHub
- 【LeetCode】 002. Add Two Number
- 利用触发器生成三分频
- Java 复合函数-函数作为返回值
- wxPython学习笔记
- MySQL学习笔记汇总
- Flask笔记:(Flask开发基础与入门)
- 【LeetCode】 012. Integer to Roman
- libxml2->lxml 在win10 64位下的安装
- XPATH(lxml)爬虫测试
- 来自一线开发者的Swift学习资源推荐
- Leetcode 139. Word Break (Medium) (cpp)
- 基于 Swift 创建 CocoaPods 完全指南