Python实验项目7 :tkinter GUI编程

 1)利用tkinter 制作界面,效果图如下:

from tkinter import *  # 
win=Tk()
for i in range(1,20):Button(width=5,height=10,bg="black" if i%2==0 else"white").pack(side="left")
win.geometry("880x300")
win.mainloop()

(2)利用tkinter 制作界面,效果图如下:

 

from tkinter import *
win=Tk()
win.title("bind()绑定")
win.geometry("300x200")
frame1=LabelFrame(relief=GROOVE,text="工具栏")
frame1.pack(anchor=NW,fill=X)
btn1=Button(frame1,text="复制")
btn1.grid(row=1,column=1)
btn2=Button(frame1,text="剪切")
btn2.grid(row=1,column=2)
btn3=Button(frame1,text="粘贴")
btn3.grid(row=1,column=3)
text1=Text()
text1.pack(expand=YES,fill=BOTH)def docopy():data=text1.get(SEL_FIRST,SEL_LAST)text1.clipboard_clear()text1.clipboard_append(data)
def docut():data=text1.get(SEL_FIRST,SEL_LAST)text1.delete(SEL_FIRST,SEL_LAST)text1.clipboard_clear()text1.clipboard_append(data)
def dopaste():text1.insert(INSERT,text1.clipboard_get())
def doclear():text1.delete('1.0',END)
btn1.config(command=docopy)
btn2.config(command=docut)
btn3.config(command=dopaste)
win.geometry("600x300")
mainloop()

(3) 设计GUI界面,模拟QQ登录界面,用户输入用户名和密码,如果正确提示登录成功;否则提示登录失败。

from tkinter import *  # 
import tkinter.messagebox
win=Tk()
lable=Label(text="QQ")
lable.grid(row=0,column=0,columnspan=2)
lable=Label(text="用户名")
lable.grid(row=1,column=0)
lable=Label(text="密码")
lable.grid(row=2,column=0)
win.geometry("400x300")
username=StringVar()
entry=Entry(textvariable=username)
entry.grid(row=1,column=1)
password=StringVar()
entry1=Entry(textvariable=password)
entry1.grid(row=2,column=1)
button=Button(text="reset")
button.grid(row=3,column=0)
button1=Button(text="OK")
button1.grid(row=3,column=1)
def reset():password.set("")username.set("")def ok():   if(password.get()=="123456" and username.get()=="周杰伦"):tkinter.messagebox.showinfo(title="登录界面",message="登录成功")else:tkinter.messagebox.showinfo(title="登录界面",message="用户名或密码错误")
button.config(command=reset)  
button1.config(command=ok) 
win.mainloop()

 

 (4) 使用Button组件的command参数实现事件处理,将事件处理的方法使用bind()方法实现。

 (5) 编制求两个正整形数最小公倍数程序。要求:两个输入框txt、txt2,用来输入整形数据;一个按钮;一个不可编辑的输入组件txt3。当单击按钮时,在txt3中显示两个整形数的最小公倍数的值。

from tkinter import *
from tkinter import StringVar
win=Tk()
win.title("求两个正整形数最小公倍数")label=Label(win,text="正整数1:")
label.grid(row=0,column=0)
label1=Label(win,text="正整数2:")
label1.grid(row=1,column=0)
label2=Label(win,text="最小公倍数:")
label2.grid(row=2,column=0)win.geometry("300x300")txt=StringVar()
entry=Entry(win,width=20,textvariable=txt)
entry.grid(row=0,column=1)txt2=StringVar()
entry1=Entry(win,width=20,textvariable=txt2)
entry1.grid(row=1,column=1)txt3=StringVar()
entry2=Entry(win,width=20,textvariable=txt3)
entry2.grid(row=2,column=1)def func():a=int(txt.get())b=int(txt2.get())c=a*bfor i in range(1,c+1):if a*i%b==0:txt3.set(a*i)break
def func2():txt.set("")txt2.set("")txt3.set("")button = Button(text="计算", command=func)
button.grid(row=3,column=0)
button1 = Button(text="reset", command=func2)
button1.grid(row=3,column=1)
mainloop()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/189324.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

联想Win11系统的任务栏格式调整为居中或居左

一 .目的 联想Win11系统的任务栏格式调整为居中或居左 二 .方法 2.1 鼠标任意放到电脑桌面位置,点击鼠标右键,显示后县级【显示设置】 2.2 个性化→任务栏→任务栏行为→对其方式:按需或个人习惯进行选择【靠左】 2.3 成功调整&#x…

BUG 随想录 - Java: 程序包 com.example.xxx 不存在

目录 一、BUG 复现 二、解决问题 一、BUG 复现 背景:通过 feign 的最佳实践,将 feign 单独提取成一个微服务,接着在需要远程调用的微服务中引入 feign 模块,并在启动类通过 EnableFeignClients 声明指定的 Feign 客户端. 出现问题…

【数据结构与算法】JavaScript实现双向链表

文章目录 一、双向链表简介二、封装双向链表类2.0.创建双向链表类2.1.append(element)2.2.toString()汇总2.3.insert(position,element)2.4.get(position)2.5.indexOf(element)2.7.update(position,element)2.8.removeAt(position)2.9.其他方法2.10.完整实现 三、链表结构总结3…

nginx学习(1)

一、下载安装NGINX: 先安装gcc-c编译器 yum install gcc-c yum install -y openssl openssl-devel(1)下载pcre-8.3.7.tar.gz 直接访问:http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz,就…

硬件开发笔记(十二):RK3568底板电路电源模块和RTC模块原理图分析

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/134429973 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

深度学习论文解读:比较ResNet和ViT差异

前言 计算机视觉、机器学习,这两个词会让你想到什么? 相信绝大多数人第一反应都是CNN,而持续关注这些领域发展的人,则会进一步联想到近几年大火的Transformer,它不仅在自然语言相关任务上表现优秀,在图像…

【JUC】五、线程的第三种创建方式 Callable

文章目录 1、Callable概述2、FutureTask Java基础中,了解到的创建线程的两种方式为: 继承Thread类实现Runnable接口 除了以上两种,还可以通过: Callable接口(since JDK1.5)线程池方式 1、Callable概述 …

【uniapp】Google Maps

话不多说 直接上干货 提前申请谷歌地图账号一、新建地图 使用h5获取当前定位或者使用三方uniapp插件 var coords ""navigator.geolocation.getCurrentPosition(function(position) {coords {lat: position.coords.latitude,lng: position.coords.longitude};lats …

数据资产到底如何入表?

2024年1月1日起,财政部《企业数据资源相关会计处理暂行规定》正式施行,距离现在只有一个多月的时间。 数据资源入表意味着企业可以将数据资源确认为企业资产负债表中“资产”一项。对于拥有丰富数据资源的企业来说,有望在财务报表中体现其真…

ssm+vue的物流配送管理系统(有报告)。Javaee项目,ssm vue前后端分离项目

演示视频: ssmvue的物流配送管理系统(有报告)。Javaee项目,ssm vue前后端分离项目 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 项目介…

【日常】爬虫技巧进阶:textarea的value修改与提交问题(以智谱清言为例)

序言 记录一个近期困扰了一些时间的问题。 我很喜欢在爬虫中遇到问题,因为这意味着在这个看似简单的事情里还是有很多值得去探索的新东西。其实本身爬虫也是随着前后端技术的不断更新在进步的。 文章目录 序言Preliminary1 问题缘起1.1 Selenium长文本输入阻塞1.2…

CSS特效013:背景色彩不停流动效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…