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*b
    for 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()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android 屏幕适配

目录 一、为什么要适配 二、几个重要的概念 2.1 屏幕尺寸 2.2 屏幕分辨率 2.3 屏幕像素密度 2.4 屏幕尺寸、分辨率、像素密度三者关系 三、常用单位 3.1 密度无关像素(dp) 3.2 独立比例像素(sp) 3.3 dp与px的转换 四、解决方案 4.1 今日头条…

Docker之DockerFile解析

DockerFile解析 是什么 Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。 概述 官网 https://docs.docker.com/engine/reference/builder/ 构建三步骤 编写Dockerfile文件 docker build命令构建镜像 docker run依镜像运…

李沐的学习Pytorch环境配置

https://github.com/Miraclelucy/dive_into_deep_learning/tree/main 上面是别人的笔记 可以学一下。 如果没有梯子,按照清华源配置 清华源conda配置 最好下载 1.11版本torch那一套 然后装d2l版本可以装 pip install d2l0.17.6然后可以用 http://localhost:8889/…

DolphinScheduler V3.1.8 海豚调度器【概述、安装、功能介绍、项目运用、邮箱预警设置】轻松拿捏!

概述 Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应…

Diffusion Models CLIP

Introduction to Diffusion Models 生成模型 主要指的是无监督学习中的生成模型,在无监督学习中的主要任务是让机器学习给定的样本,然后生成一些新的东西出来。比如:给机器看一些图片,能够生成一些新的图片出来,给机器…

.locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言: 随着科技的不断发展,网络空间的威胁也日益增加。其中,.locked勒索病毒作为一种恶意软件,给用户的数据安全带来了极大的威胁。本文91数据恢复将介绍.locked勒索病毒的特点,以及如何有效恢复被它加密的数据文件&a…

Java入门篇 之 多态

本篇碎碎念:个人认为,一切都不是不学习的理由,在如今这个"内卷"的时代,唯有认真学习,掌握知识,才能把握命运 今日份励志文案:你必须拼尽全力,才有资格说运气不好 加油吧,少…

Elasticsearch基础条件查询

条件查询 query:查询 match:匹配 match_all:匹配所有 #第一种 GET /shopping/_search?q名字:张三#第二种 GET /shopping/_search {"query": {"match": {"名字": "张三"}} }#全量查询 match_all G…

MIB 6.1810实验Xv6 and Unix utilities(5)find

难度:moderate Write a simple version of the UNIX find program for xv6: find all the files in a directory tree with a specific name. Your solution should be in the file user/find.c. 题目要求:实现find ,即在某个路径中,找出某…

Seaborn 回归(Regression)及矩阵(Matrix)绘图

Seaborn中的回归包括回归拟合曲线图以及回归误差图。Matrix图主要是热度图。 1. 回归及矩阵绘图API概述 seaborn中“回归”绘图函数共3个: lmplot(回归统计绘图):figure级regplot函数,绘图同regplot完全相同。(lm指lin…

动态sql行转列

动态sql行转列 介绍案例转之前转之后 注意 介绍 本篇介绍 根据 时间格式化后行转列的案例讲解动态sql案例的初学 案例 --设置一个动态变量 赋予初始值 SET sql NULL;--获取规范化后需要用到的行头列表 SELECT GROUP_CONCAT(CONCAT(--注意1MAX(IF(date ", date, "…

Prometheus+Grafana环境搭建(window)

PrometheusGrafana环境搭建 1:配置Prometheus 1.1: 下载Prometheus安装包 官方下载地址 找到对应的win版本进行下载并解压 1.2 下载Window数据采集 官方下载地址 下载以管理员运行,安装成功后在服务里会出现一个"windows_exporter"采集…

数据库Communications link failure

1.出现错误查询 Error querying , Communications link failure #Error querying database.Cause:com.mysql.cj.jdbc.exceptions.CommunicationsException:Communications link failure The last packet successfully received from the server was 10,016 milliseconds ago. …

LangChain 实现给动物取名字

mkdir langchain-llm-appcd langchain-llm-app # 用vscode 打开当前目录 code .在macOS上通过终端打开Visual Studio Code(VS Code),您可以按照以下步骤操作: 安装VS Code:首先,确保您已经在Mac上安装了Vis…

vulnhub靶场—matrix-breakout-2-morpheus靶机

一,实验环境 靶机ip:192.168.150.131攻击机ip:192.168.150.130 二,信息收集 arp-scan -l 扫描网段,寻找靶机ip 使用工具nmap进行端口扫描 nmap -A -T4 -p- 192.168.150.131 通过信息收集发现了靶机有80和81这两个…

23111709[含文档+PPT+源码等]计算机毕业设计基于Spring Boot智能无人仓库管理-进销存储

文章目录 **软件开发环境及开发工具:****功能介绍:****论文截图:****数据库:****实现:****代码片段:** 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 软件开发环境及…

主播职业发展指南

一、明确职业目标 1.确定长期目标:主播是一项充满挑战和机遇的工作,需要明确自己的长期职业目标。长期目标可以是成为一名知名的直播平台主播、成为一名电视节目主持人、成为一名网络红人等。2.制定短期目标:为了实现长期目标,需要制定短期目标。短期目…

基于协作mimo系统的RM编译码误码率matlab仿真,对比硬判决译码和软判决译码

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..................................................................... while(Err < TL…

Flat Ads将在杭州举办社交出海沙龙,探寻海外巨大增量空间

深圳站落幕后&#xff0c;Flat Ads社交沙龙活动迎来杭州站&#xff01;11月29日&#xff0c;Flat Ads联动Alibaba Cloud、TopOn、融云&#xff0c;开展《泛娱乐社交APP出海新风口-杭州站》&#xff0c;分享如何捕捉出海新赛道的风向标&#xff0c;并迅速实现获客增长&#xff0…

Unity——URP相机详解

2021版本URP项目下的相机&#xff0c;一般新建一个相机有如下组件 1:Render Type(渲染类型) 有Base和Overlay两种选项&#xff0c;默认是Base选项 Base:主相机使用该种渲染方式&#xff0c;负责渲染场景中的主要图形元素 Overlay&#xff08;叠加&#xff09;:使用了Oveylay的…