python123平台登陆页_wxPython实例代码(购物车)

本文介绍了如何利用wxPython创建一个包含登录界面和商品列表界面的购物车应用。通过展示代码结构、设置窗口样式、实现登录验证和商品列表显示,详细阐述了界面设计过程。文章提供了一个简单的登录窗口和商品列表窗口的实现,包括输入框、按钮、下拉列表和表格组件的使用。

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

wxPython是一个流行的跨平台GUI工具包。用这个就可以给程序做窗口界面了。官方网站:www.wxpython.org我这也没好好学,就整了个小项目的例子。把代码完整贴下面了,下次做界面的时候可以参考这改改。

文档结构

主要就是几个py文件。resources文件夹里是放资源原件的,也就两张图片

Cart

│ app_main.py

├─conf

│ settings.py

│ __init__.py

├─resources

│ bats.ico

│ dragon.jpg

└─ui

list_frame.py

list_grid_table.py

login_frame.py

my_frame.py

__init__.py

settings 文件

这里也没设置,不过把数据放这里了,主要是搞定做界面,就不连数据库了:

# 登录的用户名和密码

ACCOUNTS = {

'admin': {'pwd': 'admin'},

'root': {'pwd': '123456'},

'user': {'pwd': 'user123'},

}

# 商品列名

COLUMN_NAMES = ["商品编号", "商品类别", "商品中文名", "商品英文名"]

# 商品类别

CATEGORY = ["食品", "酒类", "男装", "女装", "童装"]

# 商品信息,商品信息有点少,最好多搞几十条

PRODUCTS = [

{'id': "001", 'category': "食品", 'name_cn': "薯片", 'name_en': "ShuPian"},

{'id': "002", 'category': "酒类", 'name_cn': "葡萄酒", 'name_en': "PuTaoJiu"},

{'id': "003", 'category': "男装", 'name_cn': "西装", 'name_en': "XiZhuang"},

{'id': "004", 'category': "女装", 'name_cn': "短裙", 'name_en': "DuanQun"},

{'id': "005", 'category': "童装", 'name_cn': "连衣裙", 'name_en': "LianYiQun"},

]

启动文件

通过启动文件,启动我们的项目,这里主要是调用创建一个登录窗口,然后进入主事件循环

import wx

from ui.login_frame import LoginFrame

from ui.list_frame import ListFrame

class App(wx.App):

"""启动模块"""

def OnInit(self):

"""创建窗口对象"""

frame = LoginFrame()

# frame = ListFrame() # 单独调试商品界面的时候,省的每次都要登录一下

frame.Show()

return True

if __name__ == '__main__':

app = App() # 实例化

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

窗口基类

先给所有的窗口定义个基类,把所有窗口共有的属性定义在这个基类里。之后各个窗口都基础这个类:

"""定义Frame窗口基类"""

import sys

import wx

class MyFrame(wx.Frame):

session = {} # 模拟Web的session,保留会话的数据

def __init__(self, title, size):

super().__init__(parent=None, title=title, size=size,

style=wx.DEFAULT_FRAME_STYLE ^ wx.MAXIMIZE_BOX)

# style是定义窗口风格,具体看官网。https://docs.wxpython.org/wx.Frame.html#wx-frame

# 上面的DEFAULT就是包含了下面所有的风格的:

# wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESIZE_BORDER |

# wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN

# 上面的例子是去掉了其中的一个。官网的例子是这样的:

# style = wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX) 去掉了2个来固定窗口大小

# 设置窗口居中

self.Center()

# 设置Frame窗口内容面板

self.contentpanel = wx.Panel(parent=self)

# 图标文件

ico = wx.Icon("resources/bats.ico", wx.BITMAP_TYPE_ICO)

# 设置图标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值