python GUI编程–实现计算器和图书管理系统注册和登录的可视化操作

1.简易计算器:编写程序,实现两个数的“加减乘除”,界面如图所示

import tkinter as tk

root = tk.Tk()
root.title("简单的加减乘除运算")
l1 = tk.Label(root, text="第一个数")
l1.grid(row=0)
t1 = tk.Entry(root)
t1.grid(row=0, column=1)
l2 = tk.Label(root, text="第二个数")
l2.grid(row=1)
t2 = tk.Entry(root)
t2.grid(row=1, column=1)
l3 = tk.Label(root, text="运算符是")
l3.grid(row=2)
t3 = tk.Entry(root)
t3.grid(row=2, column=1)
l4 = tk.Label(root, text="计算结果")
l4.grid(row=3)
t4 = tk.Entry(root)
t4.grid(row=3, column=1)


def f():
    s1 = eval(t1.get())
    s2 = eval(t2.get())
    s3 = t3.get()
    if s3 == "+":
        t4.insert(0, s1 + s2)
    if s3 == "-":
        t4.insert(0, s1 - s2)
    if s3 == "*":
        t4.insert(0, s1 * s2)
    if s3 == "/":
        t4.insert(0, s1 / s2)


def j():
    t1.delete(0, tk.END)
    t2.delete(0, tk.END)
    t3.delete(0, tk.END)


t4.delete(0, tk.END)
b1 = tk.Button(root, text="计算", command=f)
b1.grid(row=4, column=0)
b2 = tk.Button(root, text="退出", command=root.destroy)
b2.grid(row=4, column=1)
b3 = tk.Button(root, text="清空", command=j)
b3.grid(row=4, column=2)
root.mainloop()

 2.利用tkinter设计一个登录界面,并实现各个命令按钮的功能:

import tkinter as tk

root = tk.Tk()
root.title("用户登录")
l1 = tk.Label(root, text="用户名")
l1.grid(row=0)
t1 = tk.Entry(root)
t1.grid(row=0, column=1)
l2 = tk.Label(root, text="密 码")
l2.grid(row=1)
t2 = tk.Entry(root)
t2.grid(row=1, column=1)
l3 = tk.Label(root, text="")
l3.grid(row=2, column=2)


def f():
    s1 = t1.get()
    s2 = t2.get()
    if s1 == "张三":
        if s2 == "123456":
            l3["text"] = "登录成功"
        else:
            l3["text"] = "密码错误"
    else:
        l3["text"] = "用户名错误"


b1 = tk.Button(root, text="确认", command=f)
b1.grid(row=2, column=0)
b2 = tk.Button(root, text="取消", command=root.destroy)
b2.grid(row=2, column=1)
root.mainloop()

3.利用tkinter设计一个下面的界面,

该界面的功能是:当单击“insert point”按钮时,第一个文本框的内容复制一份显示在第二个文本框内,当单击“insert end”时,第一个文本框的内容添加到第二个文本框的尾部。

import tkinter as tk

root = tk.Tk()
root.title("Entry&&Text")
t1 = tk.Entry(root)
t1.pack()


def f():
    a = t1.get()
    t2.insert(0, a)


def j():
    a = t1.get()
    t2.insert(tk.END, a)


b1 = tk.Button(root, text="insert point", command=f)
b1.pack()
b2 = tk.Button(root, text="insert end", command=j)
b2.pack()
t2 = tk.Entry(root)
t2.pack()
root.mainloop()

 4.简易计算器:编写程序,实现两个数的“加减乘除”,界面如图所示:

import tkinter as tk

root = tk.Tk()
root.title("简单的加减乘除运算")
l1 = tk.Label(root, text="第一个数")
l1.grid(row=0)
t1 = tk.Entry(root)
t1.grid(row=0, column=1)
l2 = tk.Label(root, text="第二个数")
l2.grid(row=1)
t2 = tk.Entry(root)
t2.grid(row=1, column=1)
l3 = tk.Label(root, text="计算结果")
l3.grid(row=2)
t3 = tk.Entry(root)
t3.grid(row=2, column=1)


def f():
    s1 = eval(t1.get())
    s2 = eval(t2.get())
    s = var.get()
    if s == 1:
        t3.insert(0, s1 + s2)
    elif s == 2:
        t3.insert(0, s1 - s2)
    elif s == 3:
        t3.insert(0, s1 * s2)
    else:
        t3.insert(0, s1 / s2)


def j():
    t1.delete(0, tk.END)
    t2.delete(0, tk.END)
    t3.delete(0, tk.END)


c1 = tk.Button(root, text="计算", command=f)
c1.grid(row=4, column=0)
c2 = tk.Button(root, text="退出", command=root.destroy)
c2.grid(row=4, column=1)
c3 = tk.Button(root, text="清空", command=j)
c3.grid(row=4, column=2)
var = tk.IntVar()
b1 = tk.Radiobutton(root, text="+", variable=var, value=1, command=f)
b1.grid(row=0, column=2)
b2 = tk.Radiobutton(root, text="-", variable=var, value=2, command=f)
b2.grid(row=1, column=2)
b3 = tk.Radiobutton(root, text="*", variable=var, value=3, command=f)
b3.grid(row=2, column=2)
b4 = tk.Radiobutton(root, text="/", variable=var, value=4, command=f)
b4.grid(row=3, column=2)
root.mainloop()

 5.登录窗口是系统开发的最基本的模块。用户只有登录成功后,才可以使用应用系统中的全部功能。某图书管理系统的登录窗口如图1所示。

按以下要求编写一个完整的程序:

(1)编程设计出该图书管理系统的登录窗口。

(2)编程实现当用户输入正确的用户名和密码(初始的用户名:“python
”,初始密码:“123456”),点击“登录”按钮后,程序会弹出一个欢迎用户的对话框,如图2所示。若用户名错,程序会弹出一个用户名错的对话框,如图3所示,同时用户名所在的文本框内容清空,若密码错,程序会弹出一个密码错的对话框,如图4所示,同时密码名所在的文本框内容清空。

(3)编程实现当用户单击“退出”命令按钮后,将退出Python程序的运行。

import tkinter as tk
import tkinter.messagebox as m

root = tk.Tk()
root.title("图书管理系统")
l1 = tk.Label(root, text="图 书 管 理 系 统", font=("宋体", 20))
l1.grid(row=0, column=0, columnspan=2)
l2 = tk.Label(root, text="用户名")
l2.grid(row=1, column=0)
t1 = tk.Entry(root)
t1.grid(row=1, column=1)
l3 = tk.Label(root, text="密 码")
l3.grid(row=2, column=0)
t2 = tk.Entry(root)
t2.grid(row=2, column=1)
l4 = tk.Label(root, text="")
l4.grid(row=2, column=2)


def f():
    if t1.get() == "python":
        if t2.get() == "123456":
            m.showinfo("welcome", "欢迎您:python")
    if t1.get() == "python":
        if t2.get() != "123456":
            m.showinfo("窗口验证", "密码错,请重新输入")
    if t1.get() != "python":
        if t2.get() == "123456":
            m.showinfo("窗口验证", "用户名错,请重新输入")


b1 = tk.Button(root, text="登录", command=f)
b1.grid(row=3, column=0)
b2 = tk.Button(root, text="退出", command=root.destroy)
b2.grid(row=3, column=1)
root.mainloop()

6.图书管理系统登录页面,

图中的窗口中包含用户名、密码、验证码、登录、注册、退出。当用户输入正确的登录信息,点击“登录”按钮后,程序会弹出一个欢迎用户的对话框,如下图所示。

欢迎对话框

用户点击“注册”按钮后,会弹出注册用户的窗口,如下图所示。

 注册窗口

用户填写完个人信息后,点击“确认注册”按钮,会记录用户的信息,并弹出“注册成功”对话框,如下图所示。

 注册成功对话框

本实例要求使用tkinter,实现包含以上所示登录功能与注册功能的图形窗口。

import tkinter as tk
import tkinter.messagebox as m
import random

root = tk.Tk()
root.title("图书管理系统")
l1 = tk.Label(root, text="图 书 管 理 系 统", font=("宋体", 20))
l1.grid(row=0, column=0, columnspan=3)
l2 = tk.Label(root, text="用户名", font=("宋体", 12))
l3 = tk.Label(root, text="密  码", font=("宋体", 12))
l4 = tk.Label(root, text="验证码", font=("宋体", 12))
l2.grid(row=1, column=0)
l3.grid(row=2, column=0)
l4.grid(row=3, column=0)
t1 = tk.Entry(root)
t2 = tk.Entry(root, show="*")
t3 = tk.Entry(root)
t1.grid(row=1, column=1)
t2.grid(row=2, column=1)
t3.grid(row=3, column=1)
s = ""
for i in range(6):
    f = random.randint(1, 3)
    if f == 1:
        a = random.randint(0, 9)
        s = s + str(a)
    elif f == 2:
        a = random.randint(65, 90)
        s = s + chr(a)
    else:
        a = random.randint(97, 122)
        s = s + chr(a)
l5 = tk.Label(root, text="", font=("宋体", 12))
l5["text"] = s
l5.grid(row=3, column=2)


def f1():
    if t1.get() == "python":
        if t2.get() == "123":
            if t3.get() == l5.cget("text"):
                m.showinfo("welcome", "欢迎使用图书管理系统")


def f2():
    r1 = tk.Toplevel()
    r1.title("用户注册")
    l1 = tk.Label(r1, text="输入用户名:")
    l2 = tk.Label(r1, text="请输入密码:")
    l3 = tk.Label(r1, text="再次输入密码:")
    l1.grid(row=0, column=0)
    l2.grid(row=1, column=0)
    l3.grid(row=2, column=0)
    t1 = tk.Entry(r1)
    t2 = tk.Entry(r1)
    t3 = tk.Entry(r1)
    t1.grid(row=0, column=1)
    t2.grid(row=1, column=1)
    t3.grid(row=2, column=1)
    b1 = tk.Button(r1, text="确认注册", command=f21)
    b1.grid(row=3, column=1)


def f21():
    m.showinfo("welcome", "注册成功")


b1 = tk.Button(root, text="登录", command=f1)
b2 = tk.Button(root, text="注册", command=f2)
b3 = tk.Button(root, text="退出", command=root.destroy)
b1.grid(row=4, column=0)
b2.grid(row=4, column=1)
b3.grid(row=4, column=2)
root.mainloop()

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年6月26日
下一篇 2023年6月26日

相关推荐