Python内置包Tkinter的重要控件(下)

news2024/10/5 23:35:39

本文将接着介绍剩下的五个重要的控件,包括Canvas,Messagebox,Listbox,Checkbutton,Radiobutton。

目录

前言 

控件

1. Canvas

2. Messagebox

3. Listbox 

4. Radiobutton

5. Checkbutton

总结


前言 

包括但不限于:

① Label(标签)

② Button (按钮)

③ Entry(输入框)

④ Text(文本框)

⑤ Menu(菜单栏)

⑥ Messagebox(提示框)

⑦ Canvas(画布)

⑧ Listbox(选项框)

⑨ Checkbutton(复选框)

⑩ Radiobutton(单选框)

本文主要介绍后五个,即Canvas,Messagebox,Listbox,Checkbutton,Radiobutton。

控件

1. Canvas

基本语法

import tkinter as tk
root=tk.Tk()
root.title('Canvas')
root.geometry('500x300')
C=tk.Canvas(root,width=500,height=300,bg='black')
C.pack()
C.create_line(50,50,100,100,fill='white')
C.create_oval(150,50,200,100,fill='blue',outline='white')
C.create_rectangle(250,50,300,100,fill='yellow',outline='white')
C.create_arc(350,50,400,100,fill='red',outline='white',start=0,extent=180)
root.mainloop()

运行结果 

2. Messagebox

基本语法 

import tkinter as tk
from tkinter import messagebox
root=tk.Tk()
root.title('Messagebox')
root.geometry('500x300')
mb1=tk.messagebox.askyesno('提示','确定要关闭吗')
mb2=tk.messagebox.showinfo('提示','即将关闭') 
mb3=tk.messagebox.showwarning('提示','警告')
mb4=tk.messagebox.showerror('提示','错误')
root.mainloop()

运行结果

3. Listbox 

基本语法

import tkinter as tk
root=tk.Tk()
root.title('Listbox')
root.geometry('500x300')
Lb=tk.Listbox(root,width=20,height=5)
Lb.insert(0,'Listbox')
var=tk.StringVar()
def get():
    if Lb.curselection():
        var.set(Lb.get(Lb.curselection()))
    else:
        pass
Lb.pack()
L=tk.Label(root,textvariable=var,width=20,height=2)
L.pack()
B=tk.Button(root,text='确定',width=5,command=get)
B.pack()
root.mainloop()

运行结果

4. Radiobutton

基本语法 

import tkinter as tk
root=tk.Tk()
root.title('Radiobutton')
root.geometry('500x300')
var=tk.StringVar()
L=tk.Label(root,text='       ',width=20,height=2)
L.pack()
def get():
    L.config(text=var.get())
R1=tk.Radiobutton(root,text='A',variable=var,value='A',command=get)
R1.pack()
R2=tk.Radiobutton(root,text='B',variable=var,value='B',command=get)
R2.pack()
R3=tk.Radiobutton(root,text='C',variable=var,value='C',command=get)
R3.pack()
root.mainloop()

运行结果

5. Checkbutton

基本语法 

import tkinter as tk
root=tk.Tk()
root.title('Checkbutton')
root.geometry('500x300')
var1=tk.IntVar()
var2=tk.IntVar()
L=tk.Label(root,text='       ',width=20,height=2)
L.pack()
def get():
    if (var1.get()==0 and var2.get()==0):
        L.config(text='1')
    elif (var1.get()==1 and var2.get()==0):
        L.config(text='2')
    elif (var1.get()==0 and var2.get()==1):
        L.config(text='3')
    else:
        L.config(text='4')
tk.Checkbutton(root,text='A',variable=var1,onvalue=1,offvalue=0,command=get).pack()
tk.Checkbutton(root,text='B',variable=var2,onvalue=1,offvalue=0,command=get).pack()
root.mainloop() 

运行结果

总结

以上便是剩余的五个较为重要的控件了,学习Tkinter的道路暂时就到这里啦!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VBA提高篇_08 数据源类型判断 / 四舍五入

文章目录数据类型操作1. 数据类型判断2.数据类型转换2.1转换函数2.2 关于小数数据类型的四舍五入2.2.1 银行家舍入法2.2.2 Round()函数2.2.3 Int()函数数据类型操作 1. 数据类型判断 IsDate() 是否是日期类型 IsNumeric() 是否是数值类型 TypeName(x) 返回x 的数据类型的名称…

移动端特点和flex布局

移动端特点和flex布局移动端特点物理分辨率和逻辑分辨率视口视口标签二倍图百分比布局flex布局主轴对齐方式侧轴对齐方式伸缩比圣杯布局移动端特点 PC端/移动端不同 PC端 屏幕大,网页固定版心浏览器繁多,更多考虑兼容性问题。(布局&#xf…

Gin+Vite实现单图上传

前言 参考文献:https://blog.csdn.net/heian_99/article/details/122447855 案例目的:实现前端上传图片并显示,后端保存图片; 技术:elementplus、axios、vue3、vite、gin 实现原理: 前端请求对应后端接口…

连通性1(Tarjan 理论版)

目录 一、无向图割点、桥、双连通分量 Tarjan 算法求割点和桥(割边) “割点”代码 边双和点双连通分量 边双连通分量 和 点双连通分量 的缩点 二、有向图强连通分量 1.有向图的弱连通与强连通 2.强连通分量 Kosaraju算法 Tarjan 算法&#xff08…

读书笔记:Python绘制三维图像 ← 斋藤康毅

下文给出了绘制函数 的 Python 代码。 很显然,这是一个三维图像。【绘制三维图像的Python代码】 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3Dfigplt.figure() axAxes3D(fig) x1np.arange(-3.0, 3.0, 0.1) x2np.…

python刷题-关于日期、正则表达式的题

目录标题1、计算日期范围内的所有日期2、将Unix时间戳转换为格式化日期3、计算日期数据周同比4、正则表达式判断字符串是否是日期5、从文本中提取手机号码 --正则表达式6、批量提取网页上的手机号码7、自动提取电子邮箱地址8、验证用户密码是否规范-re.findall9、提取商品价格1…

ELK简介

什么是ELKE: Elasticsearch全文搜索引擎L: logstash日志采集工具K: kibana ES的可视化工具ELK是当今业界非常流行的日志采集保存和查询的系统我们编写的程序,会有很多日志信息,但是日志信息的保存和查询是一个问题IDEA控制台是一个临时显示的位置,我们可以将它保存在文件中但是…

Jetpack架构组件库:Room

Room Room是一款轻量级orm数据库,本质上是一个基于SQLite之上的抽象层。它通过注解的方式提供相关功能,编译时自动生成实现Impl,相比纯 SQLite 的API使用方式更加简单。另外一个相比于SQLite API的优势是:它会在编译时检查 SQL 语…

SpringBoot+Vue项目在线视频教育平台

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…

网络原理之HTTP/HTTPS、TCP、IP四层协议栈

文章目录一、应用层(一)xml协议(二)json协议(三)protobuffer协议(四)HTTP协议1. 抓包工具,fiddler2. HTTP报文格式3. HTTP请求(Request)(1)URL基本…

【VisualBasicApplication】Excel编程

VBAExcel的宏与VBA宏的录制宏的启动运行快捷键运行宏:使用Excel对象运行宏*VBA的数据类型字符串(String)整形(Integer)和长整形(Long)单精度浮点型(Single)和双精度浮点型…

3.mysql查询必备sql语句

文章目录1.条件查询 where2. 通配符与模糊查询3. 映射4. 排序 order_by5. 取部分 limit 和offset6. 分组 group by7.左右连表 left outer join ... on8. 联合查询 union1.条件查询 where 表内容: import pymysqlconn pymysql.connect(host127.0.0.1,port3306,u…

向QAbstractItemView子类如:QTreeView、QTableView等子项单元格插入窗体小部件的功能实现(第2种方法)

1.前言工作中经常会遇到这样的需求:向QAbstractItemView子类如QTreeView、QTableView单元格插入窗体小部件,如:进度条、按钮、单行编辑框等。下面链接的系列博文就是讲解如何实现该功能的。《向QAbstractItemView子类如:QTreeView、QTableVie…

LeetCode 2500. 删除每行中的最大值

给你一个 m x n 大小的矩阵 grid ,由若干正整数组成。 执行下述操作,直到 grid 变为空矩阵: 从每一行删除值最大的元素。如果存在多个这样的值,删除其中任何一个。 将删除元素中的最大值与答案相加。 注意 每执行一次操作&#…

行为型模式-状态模式

1.概述 【例】通过按钮来控制一个电梯的状态,一个电梯有开门状态,关门状态,停止状态,运行状态。每一种状态改变,都有可能要根据其他状态来更新处理。例如,如果电梯门现在处于运行时状态,就不能…

时序数据处理中的拟合问题

对于深度学习或机器学习模型而言,我们不仅要求它对训练数据集有很好的拟合(训练误差),同时也希望它可以对未知数据集(测试集)有很好的拟合结果(泛化能力),所产生的测试误差被称为泛化误差。度量泛化能力的好坏,最直观的表现就是模型的过拟合(overfitting)和欠拟合(…

一起Talk Android吧(第四百七十五回:渐变类视图动画)

文章目录使用方法属性介绍示例代码共用属性各位看官们大家好,上一回中咱们说的例子是"如何使用视图动画",这一回中咱们说的例子是"渐变类视图动画"。闲话休提,言归正转,让我们一起Talk Android吧! 看官们&am…

移动web动画

移动web动画动画动画属性鼠标经过暂停动画多组动画鼠标经过暂停动画多组动画动画 动画最大的特点可以不用鼠标触发,自动的,反复的执行某些动画。 动画使用分为定义和调用: 定义: /* 1. 定义的动画 */ keyframes dance {from {tr…

恶意代码分析实战 12 对抗反汇编

12.1 Lab15-01 问题 这个二进制程序中使用了何种对抗反汇编技术? 首先,使用IDA载入该文件。 我们可以看到这个程序在地址0040100E处存在一个对抗反汇编技术的痕迹。 eax总是被置为零,jz跳转总是被执行。所以我们认为这一行是假冒的call指…

Docker的架构设计

前面我们研究了Docker容器的本质是一个特殊的进程,那么这个特殊进程是如何创建、如何终止的那?也就是说是谁来管理这个容器进程的生命周期的那?在mac操作系统中我们可以通过活动监视器来观察操作系统里面有哪些进程,以及通过活动监…