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. New Concept English there (5)

    25w/m Editors of newspapers and magazines often go to extremes to provide their readers with unimpor ...

  2. html dom SetInterVal()

    HTML DOM setInterval() 方法 HTML DOM Window 对象 定义和用法 setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInt ...

  3. 看一遍就懂,详解java多线程——volatile

    多线程一直以来都是面试必考点,而volatile.synchronized也是必问点,这里我试图用容易理解的方式来解释一下volatile. 来看一下它的最大特点和作用: 一 使变量在多个线程间可见 ...

  4. Oracle数据库中字段定义为Char类型,Hibernate用该字段进行动态绑定参数查询,获取不到结果的问题

    一.问题背景 产生环境:oracle数据库,hibernate操作 定义了一个表 create table STORE_INFORMATION ( id CHAR(32) not null, name ...

  5. VSS虚拟交换系统

    下面介绍一下如何在CISCO交换机上配置VSS,具体配置如下: //在CISCO1 上配置vss域,两台设备都要在同一个域中 Cisco-(confgi)#switch virtual domain ...

  6. 【Git】Git的正确学习方式

    Git学习笔记 学习资料 git init git status git log 可以查看提交历史 git reset --hard commit_id git reflog查看命令历史 git ad ...

  7. Eclipse web工程 部署 三种方式 2

    Eclipse web工程 部署 三种方式 2.插件 tomcat插件下载: http://www.eclipsetotale.com/tomcatPlugin.html 解压缩后, com.sysd ...

  8. BZOJ3688 折线统计【树状数组优化DP】

    Description 二维平面上有n个点(xi, yi),现在这些点中取若干点构成一个集合S,对它们按照x坐标排序,顺次连接,将会构成一些连续上升.下降的折线,设其数量为f(S).如下图中,1-&g ...

  9. 《DSP using MATLAB》示例Example7.4

    代码: h = [-4, 1, -1, -2, 5, 6, 5, -2, -1, 1, -4]; M = length(h); n = 0:M-1; [Hr, w, a, L] = Hr_Type1( ...

  10. flask第十五篇——Response

    从这一节开始,我就要开始讲关于模板的知识了.先来学习一下Response的相关知识. 所有返回前台的内容其实都应该是Response的对象或者其子类,我们看到如果返回的是字符串直接可以写成return ...