📜  wxPython-主要类(1)

📅  最后修改于: 2023-12-03 14:48:36.750000             🧑  作者: Mango

wxPython-主要类

wxPython 是基于 Python 的 wxWidgets GUI 库的封装,提供了比 Python 自带的 Tkinter 更多的功能和自定义选项。

这里介绍 wxPython 中的一些重要类:

wx.App

wx.App 是每个 wxPython GUI 应用程序的主类。我们可以从它开始启动整个应用程序,然后将控制权交给主循环函数。

import wx

app = wx.App()
frame = wx.Frame(None, -1, 'Hello World')
frame.Show()
app.MainLoop()
wx.Frame

一个 GUI 应用程序的主窗口。我们使用 wx.Frame 实例化应用程序的主窗口,在这个主窗口中添加其它 wxPython 控件。

import wx

app = wx.App()
frame = wx.Frame(None, -1, 'Hello World')

panel = wx.Panel(frame, -1)
text = wx.StaticText(panel, -1, 'Hello, World!', pos=(50, 50))

frame.Show()
app.MainLoop()
wx.Panel

wx.Panel 是应用程序中的基本控制器,用于划分应用程序的主窗口。我们可以在面板中放置其它控件,以便它们位置相对靠近。

import wx

app = wx.App()
frame = wx.Frame(None, -1, 'Hello World')

panel = wx.Panel(frame, -1)
text = wx.StaticText(panel, -1, 'Hello, World!', pos=(50, 50))

frame.Show()
app.MainLoop()
wx.StaticText

在 GUI 应用程序中显示静态文本的控件。它不支持交互和编辑。多用于显示程序的信息、警告等。

import wx

app = wx.App()
frame = wx.Frame(None, -1, 'Hello World')

panel = wx.Panel(frame, -1)
text = wx.StaticText(panel, -1, 'Hello, World!', pos=(50, 50))

frame.Show()
app.MainLoop()
wx.TextCtrl

在应用程序中使用文本框以便用户输入可编辑文本。它支持多种文本样式,例如不同字体、大小、颜色、加粗等。

import wx

app = wx.App()
frame = wx.Frame(None, -1, 'Hello World')

panel = wx.Panel(frame, -1)
text = wx.StaticText(panel, -1, 'Type something:', pos=(50, 50))
text_ctrl = wx.TextCtrl(panel, -1, '', pos=(50, 80))

frame.Show()
app.MainLoop()
wx.Button

GUI 应用程序中通常会有一个或多个按钮,以响应用户的点击事件。wxPython 提供了 wx.Button 以创建带标签的按钮。

import wx

app = wx.App()
frame = wx.Frame(None, -1, 'Hello World')

panel = wx.Panel(frame, -1)
text = wx.StaticText(panel, -1, 'Click the button', pos=(50, 50))
button = wx.Button(panel, -1, 'Hello', pos=(50, 80))

frame.Show()
app.MainLoop()

以上介绍了 wxPython 中的一些重要类,还有很多其它的类可用于实现丰富的 GUI 应用程序,可供程序员根据需求进行选择。