本帖最后由 lee_st 于 2018-1-5 10:53 编辑
有了明确的方向和方法后,开始了界面的设计,果然渐入境界,有点小高兴,毕竟慢慢的可以使用了,一定要掌握到像用C写嵌入式一样熟练,这样才能算是学会。
目前廖老师的教程只提到了Tkinter,其他的我还没有了解到,就暂且使用这个GUI了,有不到之处,请大家多指点,那将是我最大的收获,在此先谢谢了。
在开始动手之前,我有了个想法,增加一个界面,实现登录,这样可以起到保护,不让任何人随意更改,管理员可以凭借口令登录,于是就修正了之前的计划。
1.增加登录界面
2.实现口令登入
下面就是之前的计划
1.实现增加数据
及批量增加
2.实现删除数据
及批量删除
3.实现数据查询并显示在当前界面或弹出界面
4.实现TK按键触发功能
5.实现TK的TEXT及滑动条功能
6.研究TK的布局
7.实现下拉菜单功能
8.实现txt文档的读写
9.实现不同文件夹的调用
10.模块化
还有一个想法,就是实现管理员的口令加密,这要留到下一步,先逐渐实现功能后,慢慢加。
下面就给大家汇报一下昨晚熬夜实现的登录效果。
如果预设的账号与输入的相同,就可以实现登录,下一步的界面,目前没有完成,就用了个tkMessageBox显示,下面把代码提供给大家参考和学习,先声明,我也在参考和借鉴前人的成果,在此先谢过了。
#!/usr/bin/env python
# -- coding: UTF-8 --
#coding=utf-8
from Tkinter import *
import tkMessageBox
class loginPage(object):
def __init__(self, master, info=u'系统登录'):
self.master = master
self.mainlabel = Label(master, text=info, justify=CENTER)
self.mainlabel.grid(row=0, columnspan=3)
self.user = Label(master, text=u'用户名', borderwidth=2)
self.user.grid(row=1, sticky=W)
self.pwd = Label(master, text=u'密码', borderwidth=2)
self.pwd.grid(row=2, sticky=W)
self.userEntry = Entry(master)
self.userEntry.grid(row=1, column=1, columnspan=2)
self.userEntry.focus_set()
self.pwdEntry = Entry(master, show='*')
self.pwdEntry.grid(row=2, column=1, columnspan=2)
self.loginButton = Button(master, text=u'登录', borderwidth=2, command=self.login)
self.loginButton.grid(row=3, column=1)
self.clearButton = Button(master, text=u'清除', borderwidth=2, command=self.clear)
self.clearButton.grid(row=3, column=2)
self.exitButton = Button(master, text=u'退出', borderwidth=2, command=root.quit)
self.exitButton.grid(row=3, column=3)
def login(self):
self.username = self.userEntry.get().strip()
self.passwd = self.pwdEntry.get().strip()
if self.username == 'admin' and self.passwd == 'admin':
tkMessageBox.showwarning(u'登录成功')
else:
tkMessageBox.showwarning(u'警告', u'用户名或者密码为空或邮件格式不正确')
self.clear()
self.userEntry.focus_set()
def clear(self):
self.userEntry.delete(0,END)
self.pwdEntry.delete(0,END)
if __name__ == '__main__':
root = Tk()
root.title(u'管理员登录')
root.geometry('230x100')
root.resizable(width = False, height = True)
myLogin = loginPage(root)
mainloop()
笔者发帖与 2018年1月5日
更多回帖