- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章python Tkinter版学生管理系统由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例为大家分享了python tkinter版学生管理的具体代码,供大家参考,具体内容如下 。
tkinter是python自带的ui包,无需下载,只需要导入 。
tkinter 文档 //http://effbot.org/tkinterbook//// 文档是英文版本的,可以翻译! 。
界面效果如下:
python的pc端界面还是可以的,较为美观! 。
页面较为粗狂,为经过专业设计! 。
系统的对象封装,数据连接使用的是原本控制台版本的! 。
控制台版本的系统,包含对象封装,数据连接 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
#导入tkinter 包
from
tkinter
import
*
from
tkinter
import
ttk
from
com.hc.dao.connect
import
*
from
com.hc.entity.student
import
*
root
=
tk()
# 窗口宽高 英文x
root.geometry(
'600x500'
)
# 固定窗口
root.resizable(width
=
false,height
=
false)
# 窗口标题
root.title(
'hc king'
)
# 标签 \ n
label(root,text
=
'信息管理'
,bg
=
'white'
,fg
=
'red'
,font
=
(
'宋体'
,
15
)).pack(side
=
top,fill
=
'x'
)
# 数据表格
#居中
datatreeview
=
ttk.treeview(root,show
=
'headings'
,column
=
(
'sid'
,
'sname'
,
'sex'
,
'sage'
))
datatreeview.column(
'sid'
,width
=
150
,anchor
=
"center"
)
datatreeview.column(
'sname'
,width
=
150
,anchor
=
"center"
)
datatreeview.column(
'sex'
,width
=
150
,anchor
=
"center"
)
datatreeview.column(
'sage'
,width
=
150
,anchor
=
"center"
)
datatreeview.heading(
'sid'
,text
=
'编号'
)
datatreeview.heading(
'sname'
,text
=
'名称'
)
datatreeview.heading(
'sex'
,text
=
'性别'
)
datatreeview.heading(
'sage'
,text
=
'年龄'
)
bottomframe
=
frame(root)
sidlabel
=
label(leftframe,text
=
'编号:'
)
snamelabel
=
label(leftframe,text
=
'名称:'
)
sexlabel
=
label(leftframe,text
=
'性别:'
)
sagelabel
=
label(leftframe,text
=
'年龄:'
)
sidentry
=
entry(leftframe)
snameentry
=
entry(leftframe)
sexentry
=
entry(leftframe)
sageentry
=
entry(leftframe)
sidlabel.grid(row
=
0
,column
=
0
)
sidentry.grid(row
=
0
,column
=
1
)
snamelabel.grid(row
=
0
,column
=
2
)
snameentry.grid(row
=
0
,column
=
3
)
sexlabel.grid(row
=
1
,column
=
0
)
sexentry.grid(row
=
1
,column
=
1
)
sagelabel.grid(row
=
1
,column
=
2
)
sageentry.grid(row
=
1
,column
=
3
)
insbutton
=
button(rightframe,text
=
"添加"
,command
=
insert)
insbutton.grid(row
=
0
,column
=
0
)
delbutton
=
button(rightframe,text
=
"删除"
,command
=
delete)
delbutton.grid(row
=
0
,column
=
1
)
updbutton
=
button(rightframe,text
=
"修改"
,command
=
update)
updbutton.grid(row
=
1
,column
=
0
)
selbutton
=
button(rightframe,text
=
"查询"
,command
=
select)
selbutton.grid(row
=
1
,column
=
1
)
#定位式布局,即坐标
datatreeview.bind(
'<<treeviewselect>>'
,treesel)
#为datatreeview绑定事件
bottomframe.pack()
#组件显示
root.mainloop()
#界面运行
|
上述是系统的界面.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#点击datatreeview的某一项,就把数据拿到,放进四个输入框内
def
treesel(event):
item
=
datatreeview.selection()
itemvalues
=
datatreeview.item(item,
'values'
)
clearentry()
sidentry.insert(
0
,itemvalues[
0
])
snameentry.insert(
0
, itemvalues[
1
])
sexentry.insert(
0
, itemvalues[
2
])
sageentry.insert(
0
, itemvalues[
3
])
#把四个输入框的数据放进对象
def
update():
student
=
student()
student.stuid
=
sidentry.get()
student.stuname
=
snameentry.get()
student.stusex
=
sexentry.get()
student.stuage
=
sageentry.get()
database().upduser(student)
clearandall()
#删除datatreeview里面的数据
def
clear():
clearentry()
for
item
in
datatreeview.get_children():
datatreeview.delete(item)
def
addall():
for
o
in
database().alluser():
datatreeview.insert('',
0
, values
=
(o[
0
], o[
1
], o[
2
], o[
3
]))
#清空四个输入框
def
clearentry():
sidentry.delete(
0
, end)
snameentry.delete(
0
, end)
sexentry.delete(
0
, end)
sageentry.delete(
0
, end)
|
上述是系统所需的具体方法! 。
仍然需要改进! 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://blog.csdn.net/qq_43532342/article/details/83472013 。
最后此篇关于python Tkinter版学生管理系统的文章就讲到这里了,如果你想了解更多关于python Tkinter版学生管理系统的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
从开发者的角度来看,Mac 版 Safari 和 Windows 版 Safari 有何不同? 我认为可以归结为评估两者之间的差异(如果我遗漏了什么,请更正): - 布局渲染 - Javascript
正如标题所说:Android 版 Chrome 和 iOS 版 Chrome 有什么区别。 我对两者进行了一些研究,但找不到关于该主题的任何最新信息。进行这项研究的原因是因为我正在研究某些 Web A
我有以下脚本可以获取您的地理位置并重定向您到 Google map : (function(){ navigator.geolocation.getCurrentPosition(function(p
我负责修复导航栏显示比应有的低 1 像素的问题。 查看网站后,我无法找到所报告的问题,直到我在 Mac 上进行了检查。 Firefox、Safari 等在 Mac 上运行良好,但 Chrome 是导致
我是典型的 .NET 开发人员(C# 是我的第一语言),几年前转向 ASP.NET MVC。现在是我职业生涯发生重大变化的新时期。如果我们看看 Web 开发的前景,我们可以看到新技术如何占领世界,而其
Grails 2.0 项目目前带有资源插件 1.1.5,它似乎有几个依赖问题(例如,参见 this post 的答案)。我正在使用 IntelliJ,虽然我将 BuildConfig.groovy 更
我有一个支持 android 2.3.3 的 android 项目。 但它也支持 sdk 版本 17。当我创建一个新 Activity 时,它会创建一个特定于版本 17 的 Activity 。 如何
有没有人有在 Android 设备上使用 pjsip 的经验?我看到几个非商业/测试项目使用它,所以我假设它可以完成,但没有一个有很好的记录。我认为 pjsip-jni 项目是一个不错的起点,但基本上
谁能告诉我在 Xcode (iPhone) 中执行以下操作的最佳方法是什么。 我有一个主导航屏幕,上面有一些按钮。当用户单击任何按钮时,他们将被带到带有更多选项按钮的子导航屏幕。在这里,他们单击任意一
我正在使用 JBoss Embedded beta3.SP10 版本,我正面临一个应该在某些 Hibernate 版本中修复的持久性错误。可悲的是,我不知道我的 JBoss Embedded 中使用的
我想在 android 中使用简单的 snmp get。我找到了 java 的代码并尝试在 android 中使用它。我还附加了 snmp4j.jar 文件用于 android。但是我得到了 Null
我的实现目标是: 可以通过一个或多个关键词搜索到文章。 可以通过文章的关键词列表查询到其相关文章。 查询到的结果依据相关程度降序排列。 查询速度要够快。(理论上关键词检索比全文检索要快很多的
我正在尝试创建一个允许我将视频从 iPhone 流式传输到服务器的应用程序。我目前关于如何做到这一点的理论是创建一系列 FFMpeg 文件并将它们发送到服务器。据我所知,我已经编译了 FFMpeg图书
这个问题在这里已经有了答案: Login failed in github for window (5 个回答) 7年前关闭。 当我安装 GitHub 时,我无法使用我的帐户凭据登录。 我收到错误 L
我需要在我的 iPad 项目中使用 Three20。我想知道 iPhone 版本的 Three20 项目是否可以直接在 iPad 上使用,还是应该等待这个时间线完成: http://three20.i
有人能做到吗 http://www.surina.net/soundtouch/适用于 iPhone? 简单的 Xcode 演示会很有帮助。 我只想通过一些音调操作来播放音效。谢谢克里斯 最佳答案 使
如何在iPhone中使用“speex”进行音频编码/解码?我没有在项目中添加框架。 最佳答案 这个blog entry: Compile Speex For iPhone克利夫顿·克雷格(Clifto
我想知道bonjour是公共(public)API还是私有(private)API?我们可以直接在我们的应用程序中使用它吗? 最佳答案 Bonjour 由 NSNetServices 和 CFNetS
••••• 已解决•••••该应用程序可用。只是花了一些时间才出现。我之所以将其视为测试版,是因为我的 Google 帐户用于 alpha 测试。如果您遇到同样的问题,只需从测试人员中删除您的帐户并等
我是 Android 编程初学者。 我在使用 Android 下载文件时遇到问题 我使用了 Httpost、Httpget 和 hhtpurlconnection前两个根本不起作用第三个两次无法下载
我是一名优秀的程序员,十分优秀!