(十二)python图形用户界面

一、python中的图形用户界面开发库

1.Tkinter

  Tkinter是python官方提供的图形用户界面开发库,用于封装Tk GUI工具包,跨平台。

2.PyQt

  PyQt是非Python官方提供的图形用户界面开发库,用于封装Qt工具包,跨平台。

3.wxPython

  wxPython是非Python官方提供的图形用户界面开发库,也跨平台。
  若要构建一个简单的wxPython程序,则至少需要一个应用(wx.App)对象和一个窗口(wx.Frame)对象。

#coding=utf-8

import wx   #wx是使用wxPython时要导入的模块
#创建应用程序对象
app = wx.App()

#创建窗口对象  
frm = wx.Frame(None, title="第一个wxPython程序!",size=(400, 300), pos=(100, 100))   #所在的父窗口,None表示没有父窗口;size表示窗口大小;pos表示窗口位置。
#显示窗口
frm.Show()  #窗口默认隐藏,需要调用Show()方法才能显现。

#进入主事件循环
app.MainLoop()  #让应用程序进入主事件循环中
4.自定义窗口类
#coding=utf-8

import wx
#自定义窗口类MyFrame
class MyFrame(wx.Frame):    #自定义窗口类
	def_init_(self):
		super()._init_(None, title="第一个wxPython程序", size=(400, 300), pos=(100, 100))
		#你的代码
		#窗口中的控件,在这里添加

#创建应用程序对象
app = wx.App()

#创建窗口对象
frm = MyFrame()
#显示窗口
frm.Show()

#进入主事件循环
app.MainLoop()

请添加图片描述

5.在窗口中添加控件

请添加图片描述

#coding=utf-8

import wx
#自定义窗口类MyFrame
class MyFrame(wx.Frame):
	def _init_(self):
		super()._init_(None, title="第一个wxPython程序", size=(400,300), pos=(100, 100))
		panel = wx.Panel(parent=self)   #创建面板对象,参数parent传递的是self,即设置面板所在的父容器为当前窗口对象。
		statictext = wx.StaticText(parent=panel, label='Hello World!', pos=(10, 10))   #创建静态文本(StaticText)对象,将静态文本对象放到panel面板中。
		#parent参数传递的是panel
		#参数label是在静态文本对象上显示的文字
		#参数pos用于设置静态文本对象。

app.wx.App()  #创建应用程序对象

frm = MyFrame()  #创建窗口对象
frm.Show()  #显示窗口

app.MainLoop()  #进入主事件循环

  在以上事例中,面板被放到窗口中,而静态文本对象被放到面板中。

二、事件处理

1.事件源

  事件发生的场所,就是各个控件。(例如:按钮事件的事件源是按钮)

2.事件

  wxPython中的事件被封装为事件类wx.Event及其子类,例如按钮事件类wx.CommandEvent,鼠标事件类是wx.MoveEvent。

3.事件处理程序

  一个响应用户事件的方法。
请添加图片描述
示例:
请添加图片描述

#coding=utf-8
import wx
#自定义窗口类MyFrame
class MyFrame(wx.Frame):
	def _init_(self):
		super()._init_(None, title="事件处理", size=(300, 180))
		panel = wx.Panel(parent=self)
		self.statictext = wx.StaticText(parent=panel, label="请单击OK按钮", pos=(110. 20))
		b = wx.Button(parent=panel, label='OK', pos=(100, 50)
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤傲倾城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值