from tkinter import *  

window = Tk()  # 创建一个窗口

window.mainloop()  # 消息循环,显示窗口

window.title("窗口标题")  # 窗口标题

window.geometry("380x420+500+240") #窗口的大小和位置,注意:是x不是*,单位是像素,以桌面左上角为原点坐标

window['width']=80;  window['height']=80 设置窗口的大小,单位是像素,没原点坐标

root.attributes("-transparentcolor", "white") # 把白色变成透明颜色
root["background"] = "white" # 窗口背景色设置为白色

root.overrideredirect(True) # 这一行可以隐藏掉窗口边框和标题栏

window.resizable(width=False,height=Ture)  # 设置窗口是否可以变化长 宽,宽可变,高不可变,默认为Ture

label.grid(row = 0,column = 0,sticky = E)  # 显示和定位 网格式布局 columnspan=2跨越的列数 # S上 E右 W左 N下

label.pack(side=LEFT)  # 这里的side可以赋值为LEFT、RTGHT、TOP、BOTTOM

btn.grid(#######)  # 按钮布局

window.protocol("WM_DELETE_WINDOW",closeWindow)  # protocol 用户关闭窗口触发的是事件,closeWindow是用户自己定义的函数

 def closeWindow():
messagebox.showinfo(title="警告",message="不需关闭好好回答!")
# messagebox.showerror(title="警告", message="不需关闭好好回答!")
return

def closeWindow():

window2 = Toplevel(window)  # 创建顶级窗口,

photo = PhotoImage(file = "./cc.gif")  # 加载这张图片,显示图片不会把窗口撑大,但只能显示局部图片,所以只能把图片的水平和垂直像素变小

window.destroy()  # 关闭window窗口

 import tkinter

 root = tkinter.Tk()

 root.overrideredirect(True) # 这一行可以隐藏掉窗口边框和标题栏
root["width"] = 200
root["height"] = 80
root.attributes("-transparentcolor", "white") # 把白色变成透明颜色
root["background"] = "white" # 窗口背景色设置为白色 x, y = 0, 0 def startmove(event):
global x, y
x = event.x
y = event.y def stopmove(event):
x = None
y = None def onmotion(event):
global x, y
deltax = event.x - x
deltay = event.y - y
_x = root.winfo_x() + deltax
_y = root.winfo_y() + deltay
root.geometry("+%s+%s" % (_x, _y)) # 窗口的位置 label = tkinter.Label(root, text="哈哈哈,模拟时钟",font=("仿宋",15), bg="white",fg='WhiteSmoke')
label.place(x=10, y=10, anchor=tkinter.NW) root.bind("<ButtonPress-1>", startmove)
root.bind("<ButtonRelease-1>", stopmove)
root.bind("<B1-Motion>", onmotion) root.mainloop()

透明文本

控件

Label、Frame、Entry、Text、Button、Listbox、Scrollbar

注意:每个控件最后要加上pack(),否则无法显示

1、Label

label = Label(window,text = "hey,小姐姐",font = ("宋体",15),fg = 'red',bg="white",width=5,height=2) 

# 创建标签控件,第一个参数传window,字体,text控件内容,fg字体颜色,bg是背景颜色,字体在C:\Windows\Fonts目录下,width、height控件的宽高

2、Frame

在屏幕上创建一块矩形区域,多作为容器来布局窗体

 from tkinter import *
root = Tk()
root.title("hello world")
root.geometry('300x200') Label(root, text='校训', font=('Arial', 20)).pack() frm = Frame(root)
frm_L = Frame(frm) # left
Label(frm_L, text='厚德', font=('Arial', 15)).pack(side=TOP)
Label(frm_L, text='博学', font=('Arial', 15)).pack(side=TOP)
frm_L.pack(side=LEFT) frm_R = Frame(frm) # right
Label(frm_R, text='敬业', font=('Arial', 15)).pack(side=TOP)
Label(frm_R, text='乐群', font=('Arial', 15)).pack(side=TOP)
frm_R.pack(side=RIGHT) frm.pack() #显示控件
root.mainloop() # 进入循环,显示窗口

frm = Frame(root)

3、Entry

创建单行文本框

 from tkinter import *

 root = Tk()
root.title("hello world")
root.geometry() # 窗口大小位置
var = StringVar() # 绑定变量
e = Entry(root, textvariable=var)
var.set("hello") # 设置文本框中的值
e.pack()
a = var.get() # 获取文本框中的值 root.mainloop()

e = Entry(root, textvariable=var)

4、Text  文本输入控件

向该空间内输入文本

t = Text(window)  # 创建文本框实例

t.insert(mark, 内容)  

# mark可以填行号、特殊字符、INSERT光标插入点、CURRENT鼠标当前所对应的位置、END文本控件的最后一个字符、SEL_FIRST选中文本域的第一个字符,如果没有选中区域则会引发异常、SEL_LAST选中文本域的最后一个字符,如果没有选中区域则会引发异常

t.insert(1.0, 'hello\n')  # 插入内容

t.insert(END, 'hero\n')

t.pack()

5、Button 按钮控件

btn = Button(window,text = "喜欢",width = 15,height = 2,command = Love)  

# 按钮控件,第一个参数传入window,width、height按钮的宽和高,command是点击按钮触发的命令

root.bind("<ButtonPress-1>", startmove)  # 按下鼠标做什么事情
root.bind("<ButtonRelease-1>", stopmove)  # 松开鼠标做什么事情
root.bind("<B1-Motion>", onmotion)  # 按住鼠标做什么事情

6、Listbox  列表控件

 # selectmode可以为BROWSE MULTIPL SINGLE
from tkinter import * root = Tk()
root.title("hello world")
root.geometry() def print_item(event):
print(lb.get(lb.curselection())) var = StringVar() # 绑定变量
lb = Listbox(root, listvariable=var) # 创建列表
list_item = [1, 2, 3, 4] # 控件的内容为1 2 3 4
for item in list_item:
lb.insert(END, item) # 添加
lb.delete(2, 4) # 删除,此时控件的内容为1 3 var.set(('a', 'ab', 'c', 'd')) # 设置列表所有值
print(var.get()) # 得到列表所有值
lb.bind('<ButtonRelease-1>', print_item) # 释放鼠标触发事件
lb.pack() root.mainloop()

7、Scrollbar  

在屏幕上创建一个矩形区域

 from Tkinter import *
root = Tk()
root.title("hello world")
root.geometry() def print_item(event):
print lb.get(lb.curselection()) var = StringVar()
lb = Listbox(root, height=5, selectmode=BROWSE, listvariable = var)
lb.bind('<ButtonRelease-1>', print_item)
list_item = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
for item in list_item:
lb.insert(END, item) scrl = Scrollbar(root)
scrl.pack(side=RIGHT, fill=Y)
lb.configure(yscrollcommand = scrl.set)
lb.pack(side=LEFT, fill=BOTH)
scrl['command'] = lb.yview root.mainloop()

Tkinter学习的更多相关文章

  1. Python Tkinter 学习成果:点歌软件music

    笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...

  2. tkinter学习-Lable&Button

    tkinter学习-La&Bu 我的第一个Tkinter程序 Label组件的使用 Button组件的使用 1.我的第一个Tkinter程序 常用的属性: title:设置窗口的标题 geom ...

  3. Python:GUI之tkinter学习笔记1控件的介绍及使用

    相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...

  4. tkinter学习系列之(八) Canvas控件

    目录 目录 前言 (一)carves创建方法 (二)carves的画图方法 目录 前言 由于最近想在tkinter里内嵌matplotlib,由于用到tkinter里的carves控件,先学习一下. ...

  5. python之GUI编程-tkinter学习

    推荐几个学习网址:https://www.cnblogs.com/shwee/p/9427975.html https://cloud.tencent.com/developer/section/13 ...

  6. python之tkinter学习目录

    前言 下面的目录结构,采用的学习视频资料是网易云课堂中[莫凡]老师的,在目录的最下面的地方给出了对应的链接! 学习是逐渐积累起来的,代码也是!下面的每一篇中的对应代码,都秉承着这样的一个理念:代码是成 ...

  7. tkinter学习(5)messagebox、pack、grid和place方法

    1.messagebox信息弹出框 1.1 代码: import tkinter as tk #导出tk模块 import tkinter.messagebox #导出弹出信息框 #定义窗口.标题.大 ...

  8. tkinter学习(4)frame、pack、canvas学习

    1.frame和pack学习 1.1 代码: import tkinter as tk window = tk.Tk() window.title('my window') window.geomet ...

  9. tkinter学习(3)scale尺度条和menu菜单

    1.scale学习(尺度条)1.1 代码: #第1步:导出模块 import tkinter as tk #第2步:定义窗口,及其标题.大小和位置 win = tk.Tk() win.title('s ...

  10. tkinter学习(1)

    1.hit_me的一个简单tk窗口学习1.1 代码: import tkinter as tk win = tk.Tk() win.title('my first window') #定义标题,如果未 ...

随机推荐

  1. JS中关于把函数作为另一函数的参数的几点小总结

    //JS中关于把函数作为函数的参数来传递的问题的小总结//第一,最简单的形式无参函数,直接形式函数的函数名放到括号中,再在执行部分这个函数即可.//当然调用时要穿另一个真正的定义好的函数/*funct ...

  2. cscope使用记录

    在看c的源码过程中,仅仅使用ctags不够用,加入cscope会好一点,关于vim的配置就不多说了,在这里主要是记录常用的几个东西: 在代码的最顶层执行: cscope -Rbkq 打开vim: cs ...

  3. Buildroot构建指南--快速上手与实用技巧

    Buildroot官方全英文使用手册的链接是https://buildroot.org/downloads/manual/manual.html,需要知道每一个细节的朋友,可以仔细查阅,这篇文章只是我 ...

  4. HDU 3345

    http://acm.hdu.edu.cn/showproblem.php?pid=3345 最近重写usaco压力好大,每天写的都想吐.. 水一道bfs 注意的是开始旁边有敌人可以随便走,但是一旦开 ...

  5. Postfix常用命令和邮件队列管理(queue)

    本文主要介绍一下postfix的常用命令及邮件队列的管理: Postfix有以下四种邮件队列,均由管理队列的进程统一进行管理: maildrop:本地邮件放置在maildrop中,同时也被拷贝到inc ...

  6. java并发--Callable、Future和FutureTask

    在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果. 如果需要获取执行结果,就 ...

  7. javascript中typeof用法

    JS中的变量是松散类型(即弱类型)的,可以用来保存任何类型的数据. typeof 可以用来检测给定变量的数据类型,可能的返回值: 1. 'undefined' --- 这个值未定义: 2. 'bool ...

  8. BZOJ2763 JLOI2011 飞行路线 【最短路+DP】

    BZOJ2763 JLOI2011 飞行路线 Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n ...

  9. 20179223《Linux内核原理与分析》第十二周学习笔记

    Return-to-libc 攻击实验 一.实验描述 缓冲区溢出的常用攻击方法是用 shellcode 的地址来覆盖漏洞程序的返回地址,使得漏洞程序去执行存放在栈中 shellcode.为了阻止这种类 ...

  10. IOS SEL (@selector) 原理及使用总结(一)

    SEL 类成员方法的指针 可以理解 @selector()就是取类方法的编号,他的行为基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应 ...