Python体验(09)-图形界面之Pannel和Sizer

本文提供了使用wxPython创建GUI应用程序的两个示例。第一个示例展示了如何在一个窗口中布局三个按钮;第二个示例则通过不同边框样式的面板来演示布局管理器的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

import wx
class Form(wx.Frame):
    def __init__(self,parent,ID,title):
        wx.Frame.__init__(self,parent,ID,title)
        panel = wx.Panel(self,-1)

        wx.Button(panel,-1,"Button1",(0,0))
        wx.Button(panel,-1,"Button2",(80,0))
        wx.Button(panel,-1,"Button3",(160,0))

class App(wx.App):
    def OnPreInit(self):
        form = Form(None,-1,"Panel Layout")
        form.Show()
        form.Centre()

app = App()
app.MainLoop()

 

import wx
class MyFrame( wx.Frame ):  
    def __init__( self, parent, id, title ):
        wx.Frame.__init__( self, parent, id, title )
        pnl1 = wx.Panel( self, -1, style=wx.SIMPLE_BORDER )
        pnl2 = wx.Panel( self, -1, style=wx.RAISED_BORDER )
        pnl3 = wx.Panel( self, -1, style=wx.SUNKEN_BORDER )
        pnl4 = wx.Panel( self, -1, style=wx.DOUBLE_BORDER )
        pnl5 = wx.Panel( self, -1, style=wx.STATIC_BORDER )
        pnl6 = wx.Panel( self, -1, style=wx.NO_BORDER )

        hbox1 = wx.BoxSizer( wx.HORIZONTAL )
        hbox1.Add( pnl1, 1, wx.EXPAND | wx.ALL, 3 )
        hbox1.Add( pnl2, 1, wx.EXPAND | wx.ALL, 3 )
        hbox1.Add( pnl3, 1, wx.EXPAND | wx.ALL, 3 )
        hbox2 = wx.BoxSizer( wx.HORIZONTAL )
        hbox2.Add( pnl4, 1, wx.EXPAND | wx.ALL, 3 )
        hbox2.Add( pnl5, 1, wx.EXPAND | wx.ALL, 3 )
        hbox2.Add( pnl6, 1, wx.EXPAND | wx.ALL, 3 )
        vbox=wx.BoxSizer(wx.VERTICAL)
        vbox.Add( hbox1, 1, wx.EXPAND )
        vbox.Add( hbox2, 1, wx.EXPAND )
        self.SetSizer( vbox )
        self.Centre()

class MyApp( wx.App ):  
    def OnInit( self ):
        frame = MyFrame( None, -1, 'borders.py' )
        frame.Show( True )
        return True

app = MyApp()
app.MainLoop()  

 

转载于:https://www.cnblogs.com/flaaash/p/5300259.html

wxPython 是一个基于 Python 的跨平台图形用户界面 (GUI) 工具包,它允许开发人员使用 Python 编程语言来创建功能丰富的桌面应用程序。它是 wxWidgets C++ 工具包的 Python 绑定。 使用 wxPython,你可以创建各种类型的 GUI 应用程序,包括窗口、对话框、按钮、菜单、工具栏等等。它提供了丰富的控件库布局管理器,使得构建用户友好的界面变得相对简单。 下面是一个简单的示例,演示了如何使用 wxPython 创建一个简单的窗口: ```python import wx class MyFrame(wx.Frame): def __init__(self): super().__init__(parent=None, title='My App') panel = wx.Panel(self) self.text_ctrl = wx.TextCtrl(panel) my_btn = wx.Button(panel, label='Click Me!') sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.text_ctrl, 0, wx.ALL | wx.EXPAND, 5) sizer.Add(my_btn, 0, wx.ALL, 5) panel.SetSizer(sizer) if __name__ == '__main__': app = wx.App() frame = MyFrame() frame.Show() app.MainLoop() ``` 这个示例代码创建了一个窗口,其中包含一个文本框一个按钮。通过创建一个自定义的 `MyFrame` 类,并在其构造函数中设置窗口的标题布局。然后,我们将控件添加到窗口的面板上,并使用 `SetSizer` 方法将布局管理器应用到面板上。最后,我们创建一个 `wx.App` 对象,并进入主事件循环以启动应用程序。 你可以根据需要添加更多的控件自定义窗口的样式行为。wxPython 提供了丰富的文档示例代码,帮助你更好地了解如何使用它来构建复杂的图形界面应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值