python中与label类似的控件是_python中tkinter的使用(控件整理)(一)

1、使用tkinter.Tk() 生成主窗口(window=tkinter.Tk()):

window.title('标题名')修改框体的名字,也可在创建时使用className参数来命名;

window.resizable(0,0)框体大小可调性,分别表示x,y方向的可变性;1表示可变,0表示不可变;

window.geometry('250x150')指定主框体大小;

window.quit()退出;(配合响应事件使用)

window.update_idletasks()

window.update()刷新页面;

window.mainloop()进入消息循环(必需组件)

2、tkinter中的15种核心组件:

Button按钮;

Canvas绘图形组件,可以在其中绘制图形;

Checkbutton复选框;

Entry文本框(单行);

Text文本框(多行);

Frame框架,将几个组件组成一组

Label标签,可以显示文字或图片;

Listbox列表框;

Menu菜单;

Menubutton它的功能完全可以使用Menu替代;

Message与Label组件类似,但是可以根据自身大小将文本换行;

Radiobutton单选框;

Scale滑块;允许通过滑块来设置一数字值

Scrollbar滚动条;配合使用canvas, entry, listbox,andtext窗口部件的标准滚动条;

Toplevel用来创建子窗口窗口组件。

(在Tkinter中窗口部件类没有分级;所有的窗口部件类在树中都是兄弟。)

3、组件的放置和排版(pack,grid,place)

pack组件设置位置属性参数:

after:将组件置于其他组件之后;

before:将组件置于其他组件之前;

anchor:组件的对齐方式,顶对齐'n',底对齐's',左'w',右'e'

side:组件在主窗口的位置,可以为'top','bottom','left','right'(使用时tkinter.TOP,tkinter.LEFT);

fill:填充方式(Y,垂直,X,水平,BOTH,水平+垂直),是否在某个方向充满窗口

expand1可扩展,0不可扩展,代表控件是否会随窗口缩放

grid组件使用行列的方法放置组件的位置,参数有:

column:组件所在的列起始位置;

columnspan:组件的列宽;跨列数

row:组件所在的行起始位置;

rowspan:组件的行宽;rowspam=3   跨3行

sticky对齐方式:NSEW(北南东西)上下左右

padx、padyx方向间距、y方向间距(padx=5)place组件可以直接使用坐标来放置组件,参数有:

anchor:组件对齐方式;n, ne, e, se, s, sw, w, nw, or center ; ('n'==N)

x:组件左上角的x坐标;

y:组件左上角的y坐标;

relx:组件左上角相对于窗口的x坐标,应为0-1之间的小数;图形位置相对窗口变化

rely:组件左上角相对于窗口的y坐标,应为0-1之间的小数;

width:组件的宽度;

heitht:组件的高度;

relwidth:组件相对于窗口的宽度,0-1之间的小数,图形宽度相对窗口变化;

relheight:组件相对于窗口的高度,0-1之间的小数;

4、使用tkinter.Button时控制按钮的参数:

anchor:指定按钮上文本的位置;

background(bg)指定按钮的背景色;

bitmap:指定按钮上显示的位图;

borderwidth(bd)指定按钮边框的宽度;

command:指定按钮消息的回调函数;

cursor:指定鼠标移动到按钮上的指针样式;

font:指定按钮上文本的字体;

foreground(fg)指定按钮的前景色;

height:指定按钮的高度;

image:指定按钮上显示的图片;

state:指定按钮的状态(disabled);

text:指定按钮上显示的文本;

width:指定按钮的宽度

padx设置文本与按钮边框x的距离,还有pady;

activeforeground按下时前景色

textvariable可变文本,与StringVar等配合着用

5、文本框tkinter.Entry,tkinter.Text控制参数:

background(bg)      文本框背景色;

foreground(fg)        前景色;

selectbackground    选定文本背景色;

selectforeground    选定文本前景色;

borderwidth(bd)      文本框边框宽度;

font                 字体;

show                文本框显示的字符,若为*,表示文本框为密码框;

state               状态;

width              文本框宽度

textvariable        可变文本,与StringVar等配合着用

6、标签tkinter.Label组件控制参数:

Anchor标签中文本的位置;background(bg)foreground(fg)背景色;前景色;

borderwidth(bd)边框宽度;width  、height标签宽度;标签高度;

bitmap标签中的位图;font字体;

image标签中的图片;justify多行文本的对齐方式;

text标签中的文本,可以使用'\n'表示换行textvariable显示文本自动更新,与StringVar等配合着用

7、单选框和复选框Radiobutton,Checkbutton控制参数:

anchor文本位置;background(bg)背景色;

foreground(fg)前景色;borderwidth边框宽度;

width组件的宽度;height组件高度;

bitmap组件中的位图;image组件中的图片;

font字体;justify组件中多行文本的对齐方式;

text指定组件的文本;value指定组件被选中中关联变量的值;

variable指定组件所关联的变量;indicatoron特殊控制参数,当为0时,组件会被绘制成按钮形式;

textvariable可变文本显示,与StringVar等配合着用

8、组图组件Canvas控制参数

background(bg)背景色;foreground(fg)前景色;

borderwidth组件边框宽度;width组件宽度;

height高度;bitmap位图;

image图片;

绘图的方法主要以下几种:

create_arc椭圆圆弧;  create_arc(x1,y1,x2,y2,start=0,extent=120,tag='1')

#x1,y1和x2,y2分别为椭圆圆弧外接矩形的左上角和右下角坐标;

从0度,扩充到120度;圆弧别名为:‘1’;

create_bitmap绘制位图,支持XBM;

create_image绘制图片,支持GIF(x,y,image,anchor);

create_line绘制直线;(坐标罗列)

create_oval;绘制椭圆;

create_polygon绘制多边形(坐标依次罗列,不用加括号,还有参数,fill,outline);

create_rectangle绘制矩形((a,b,c,d),值为左上角和右下角的坐标);

create_text绘制文字(字体参数font,);

create_window绘制窗口;

delete删除绘制的图形;delete('all')清除所有图形;或清除指定别名的图形;

itemconfig修改图形属性,第一个参数为图形的ID,后边为想修改的参数;

move移动图像(1,4,0),1为图像对象,4为横移4像素,0为纵移像素,然后用root.update()刷新即可看到图像的移动,

为了使多次移动变得可视,最好加上time.sleep()函数或canvas.after()函数;

coords(ID)返回对象的位置的两个坐标(4个数字元组);只要用create_方法画了一个图形,就会自动返回一个ID,

创建一个图形时将它赋值给一个变量,需要ID时就可以使用这个变量名。

after(100)程序在这里暂停100毫秒

对于按钮组件、菜单组件等可以在创建组件时通过command参数指定其事件处理函数。方法为bind;或者用bind_class方法进行类绑定,bind_all方法将所有组件事件绑定到事件响应函数上。

9、菜单Menu

参数:

tearoff分窗,0为在原窗,1为点击分为两个窗口

bg,fg背景,前景

borderwidth边框宽度

font字体

activebackgound鼠标划过时背景,同样有activeforeground,activeborderwidth,disabledforeground

cursor当子菜单分离原窗时,鼠标在子菜单栏上的形状cursor="arrow""circle""clock""cross""dotbox"

"exchange""fleur""heart""heart""man""mouse""pirate""plus"等图形

postcommand点击菜单的回调函数

selectcolor选中时背景色,add_checkbutton控件选中时,√的颜色

takefocus

title当子菜单分离原窗时的标题

type

relief当子菜单分离原窗时的3D效果,relief=RAISED,SUNKEN,FLAT,RIDGE,SOLID,GROOVE

方法:

menu.add_cascade添加子菜单(menu参数为子菜单对象)

menu.add_command添加命令(label参数为显示内容,command参数为响应函数)

menu.add_separator添加分隔线

menu.add_checkbutton添加确认按钮,与add_radiobutton用法相同,效果为:点击时打钩(variable参数决定绑定变量)

delete删除

12、弹窗

messagebox的方法:

showerror错误提示对话框showinfo信息提示对话框

showwarning警告对话框askokcansel确认或取消;有返回值True、False

askquestion回答问题;有返回值yes、noaskretrycansel重试或取消;有返回值True、False

askyesno回答是非题;有返回值True、Falseaskyesnocancel是、否或取消,有返回值True、False、None

messagebox._show函数的控制参数:

default         指定消息框按钮;

icon            指定消息框图标;

message        指定消息框所显示的消息;

parent          指定消息框的父组件;

title           标题;

type            类型;

simpledialog模块参数:

title           指定对话框的标题;

prompt         显示的文字;

initialvalue    指定输入框的初始值;

filedialog    模块参数:

filetype       指定文件类型;

initialdir     指定默认目录;

initialfile    指定默认文件;

title         指定对话框标题

colorchooser模块参数:

initialcolor    指定初始化颜色;

title           指定对话框标题;

13、滚动条(Scrollbar)

与其他控件绑定;

1、将这些控件的yscrollcommand选项设置为scrollbar的set方法。

(Scrollbar使用set方法改变slder滑块的位置)

2、将scrollbar的command选项设置为这些控件的yview方法。(控件使用yview或xview方法改变自身的视图)

(由于控件代码执行的先后性,所以借助config方法实现双向关联)

参数:

orient                          方位:VERTICAL垂直;HORIZONTAL水平

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

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

相关文章

jdbc dao 工具类mysql_Java基于JDBC实现事务,银行转账及货物进出库功能示例

本文实例讲述了Java基于JDBC实现事务,银行转账及货物进出库功能。分享给大家供大家参考,具体如下:1. 转账业务转账必须执行2个sql语句(update更新)都成功的情况下,提交事务,如果有一个失败,则2个都回滚事务…

冒险岛单机版mysql_冒险岛单机版

这款《冒险岛单机版》经验是盛大冒险岛的100倍?最新盛大地图及BOSS,甚至包括盛大没有地图BOSS及现金装备,地图包括新加坡,马来西亚,台湾,可口可乐城,闹鬼宅邸,暹罗等等?。25驾坐骑&#xff0c…

python与html5搭建聊天室_html5 websocket 新版协议聊天室 服务端(python版)

网上找了很多代码都是旧版协议的,研究了很久终于弄清楚了 现在发个用新版协议写的服务端代码出来(这个代码是从网上旧版协议改过来的)最要就是握手协议和发送接受字符的方式变了# incodingutf-8import socketimport structimport hashlibimport threading,randomimp…

mysql数据库开发笔记_MySQL数据库生成数据库说明文档

在半年多前为一个MySQL数据库生成过数据库说明文档,今天要重新生成一份,但是发现完全不记得当时是怎么生成的,只能在网上搜索重来一遍,所以今天特意把这个过程记录一下。一、安装使用MySQL数据库表结构导出器DBExportDoc V1.0 For…

java 字符串缓冲区_详解Java中字符串缓冲区StringBuffer类的使用

StringBuffer 是一个线程安全的可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBuilder 也是继承于AbstractStringBuilder的子类;但是,StringBuilder和StringBuffer不同,前者是非线程安全的&#…

rabbitmq java文档_RabbitMQ文档翻译——Hello World!(上)

文章主要翻译自RabbitMQ官方文档,主要是为了练习英语翻译,顺便学习一下RabbitMQ😶其中也记录了一些爬过的坑IntroductionRabbitMQ is a message broker. The principal idea is pretty simple: it accepts and forwards messages. You can th…

java string 包含http_Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件)...

一、HttpPost上传文件public static String getSuffix(final MultipartFile file){if(file null || file.getSize() 0){return null;}String fileName file.getOriginalFilename();return fileName.substring(fileName.lastIndexOf(".")1);}public static JSONObj…

java倒计时跳出窗口_java倒计时弹出框

直接使用java语言写出一个运行时的弹出框倒计时:package test.dagong.testDecreaseDate;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.sw…

jpa mysql存储过程_Jpa调用存储过程及参数

public List findAllEntityListBySearch(Long inputInfoId, int flag) throws Exception {List infoviewListnew ArrayList<>();EntityManager em emf.createEntityManager();try {StoredProcedureQuery storedProcedure em.createStoredProcedureQuery("存储名称&…

python从mongodb里取出数据进行可视化_python3 mongoDB数据库的安装配置与可视化

python3 mongoDB数据库的安装配置与可视化。前天说是要学习如何使用mongoDB的链接与安装。安装环境&#xff1a; wind10 还是盗版的 磁盘分析&#xff1a;只有一个C盘&#xff0c;步骤&#xff1a;1 . 下载这里下载了对应的msi文件&#xff0c;貌似.zip文件没有了2 我默认把mon…

idea 注入mapper报错报红的几种解决方案

文章目录 前言方法1&#xff1a;为 Autowired 注解设置required false方法2&#xff1a;用 Resource 替换 Autowired方法3&#xff1a;在Mapper接口上加上Repository注解方法4&#xff1a;用Lombok方法5&#xff1a;把IDEA的警告关闭掉方法6&#xff1a;不用管他 前言 相信大…

java 调用对象的方法_JAVA调用对象方法的执行过程

JAVA调用对象方法的执行过程&#xff1a;①.编译器查看对象的声明类型和方法名。假设调用x.f(parameter), 且隐式参数x声明为C类型的对象&#xff0c;有可能在C对象中存在多个参数类型和参数个数不同的f的方法{例如&#xff1a;f(int)、f(int,String)和f(String)}&#xff0c;…

java类默认权限_Java 访问权限控制以及类初始化顺序

一. Package在一个项目中&#xff0c;不可以有相同的两个包名package语句必须是文件中除注释外第一句程序代码&#xff0c;否则不能通过编译。二. Java访问权限概述类成员&#xff1a;对于一个类&#xff0c;其成员(包括成员变量和成员方法)能否被其他类所访问&#xff0c;取决…

java http头 字符串转日期_springboot~DTO字符字段与日期字段的转换问题

不会自动转换string与date主要是这个意思&#xff0c;前端提交的JSON里&#xff0c;日期是一个字符串&#xff0c;而对应后端的实体里&#xff0c;它是一个Date的日期&#xff0c;这两个在默认情况下是不能自动转换的&#xff0c;我们先看一下实体实体public class UserDTO {pr…

java super extends_Java继承和super的用法

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼继承的关键字:extends格式如下: class 子类名 extends父类名{...}例如学生是继承人类这一父类的.class student extends person{...}如果一个类的声明没有使用关键字extends,则这个类默认是继承Object类的.Object是所有类的父类.Ob…

比较abc大小的java_比较abc大小java

比较abc大小java[2021-02-09 04:04:20] 简介:php去除nbsp的方法&#xff1a;首先创建一个PHP代码示例文件&#xff1b;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#xff1a;《PH…

海天食品的java开发工作如何_再三个月就秋招了,我想找一份java开发工作,现在应该怎么准备一下?...

在找工作之前&#xff0c;大家都要做一些准备工作&#xff0c;java开发也是如此掌握核心JavaSE首先&#xff0c;从核心Java(JavaSE)开始学习&#xff0c;尽可能地掌握它。你应该了解和掌握一些基本概念&#xff0c;如循环&#xff0c;数组&#xff0c;运算符等等。此外&#xf…

java udp简单聊天程序_Java基于UDP协议实现简单的聊天室程序

最近比较闲&#xff0c;一直在抽空回顾一些java方面的技术应用。今天没什么事做&#xff0c;基于udp协议&#xff0c;写了一个非常简单的聊天室程序。现在的工作&#xff0c;很少用到socket&#xff0c;也算是对java网络编程方面的一个简单回忆。先看一下效果&#xff1a;实现的…

java9 反应编程_Java9第四篇-Reactive Stream API响应式编程

file我计划在后续的一段时间内&#xff0c;写一系列关于java 9的文章&#xff0c;虽然java 9 不像Java 8或者Java 11那样的核心java版本&#xff0c;但是还是有很多的特性值得关注。期待您能关注我&#xff0c;我将把java 9 写成一系列的文章&#xff0c;大概十篇左右。Java 9的…

bb10系统支持java吗_黑莓BB10怎么样 BlackBerry 10系统好用吗?

曾几何时黑莓Blackberry OS是一款十分受用户欢迎的手机系统&#xff0c;不过随着手机系统市场已经被苹果iOS、谷歌安卓、微软Windows Phone三分天下&#xff0c;致使曾经的黑莓帝国逐渐沦陷&#xff0c;体验和性能都已经明显跟不上iOS与安卓等系统的脚步了&#xff0c;也因为如…