python学习tkinter(1-3)

(一)

之前使用easy_gui写过一下界面,感觉就是太过于简单了,因此这次是学习tkinter来做的。

import tkinter as tk

#顶层窗口,根窗口
app = tk.Tk()
app.title("flash demo")

theLabel = tk.Label(app,text="我的第二个窗口程序!")#建立一个组件,用于显示文本和图片
theLabel.pack()#用于自动调节组件尺寸和位置

app.mainloop()#窗口的主事件循环

这是最简单的一个界面。

import tkinter as tk

class APP:
    def __init__(self,master):
        frame = tk.Frame(master)#frame是框架,用于复杂布局
        frame.pack(side=tk.LEFT,padx=10,pady=10)#自动调整位置,默认是top,同理tk.right是位于右边
                        #padx是在x轴的间距,pady是在y轴的间距
        self.hi_there = tk.Button(frame,text="打招呼",fg="blue",bg="pink",command=self.say_hi)
        self.hi_there.pack()

    def say_hi(self):
        print("hi")

root = tk.Tk()
app = APP(root)#将root底层窗口设置为参数

root.mainloop()

  

(二)

如何来输出图像和文字呢?

from tkinter import *

root = Tk()

photo = PhotoImage(file="黑板.png")
theLabel = Label(root,
                 text="\r 人生苦短\r我用python",
                 justify=LEFT,#对齐方式
                 image=photo,#储存图片
                 compound=CENTER,#混合模式,图片在下,文字在图片正上方
                 font=("行楷",50),
                 fg="white",
                 )
theLabel.pack()

mainloop()

  

上面都是一些简单的使用,下面是来设置一个按钮

from tkinter import *

def callback():
    var.set("吹吧你,我才不信呢")

root = Tk()

frame1=Frame(root)

frame2=Frame(root)

var=StringVar()
var.set("您所下载的影片有未成年人限制内容,\r请满18岁再点击!")
textLabel = Label(frame1,
                  textvariable=var,
                    #textvariable显示的是一个变量
                  justify=LEFT,
                  padx=10,
                  pady=10)
textLabel.pack(side=LEFT)#justify意为对齐方式

photo = PhotoImage(file="无标题.png")
imgLabel = Label(root,image=photo)
imgLabel.pack(side=RIGHT,padx=10,pady=10)

theButton = Button(frame2,text="我已满18周岁",command=callback)
theButton.pack()

frame1.pack(padx=10,pady=10)
frame2.pack(padx=10,pady=10)

mainloop()

上述的var设置为字符串变量,这样我们可以通过改变该变量来更改界面的文字输出,以后所有的变量几乎都是Var,比如在IntVar()中等等。

(三)

下面介绍选项的使用

from tkinter import *

root = Tk()

v = IntVar()#设置Int变量

c = Checkbutton(root,text="click",variable=v)#一旦按键被按的话,将会改变cariable也就是改变v的值
c.pack()

l = Label(root,textvariable=v)
l.pack()

mainloop()

  

from tkinter import *

root = Tk()

GIRLS = ["西施","貂蝉","王昭君","杨玉环"]

v = []

for girl in GIRLS:
    v.append(IntVar())
    b=Checkbutton(root,text=girl,variable=v[-1])#v[-1]是选中最后一个数组中的数,也就是我们上一个语句插入的数
    b.pack(anchor=W)#anchor分为八个方向,因为左对齐,所以西W
mainloop()

  

from tkinter import *

root=Tk()

group = LabelFrame(root,text="最好的脚本语言是?",padx=5,pady=5)#通过LabelFrame构建一个容器部件,装载下述选项
group.pack(padx=10,pady=10)

LANGSS = [
    ("Python",1),
    ("Perl",2),
    ("Ruby",3),
    ("Lua",4)]

v=IntVar()#只设置一个v,保证单选

for lang,num in LANGSS:
    b = Radiobutton(group,text=lang,variable=v,value=num)#,indicatoron=False)    #indicatoron就是设置小圈圈
	#value的意义是来和variable相对比,如果一样那么显示选中,否则不中,因此v只能代表一个选项

    b.pack(anchor=W)
mainloop()

  

时间: 2024-09-29 18:48:59

python学习tkinter(1-3)的相关文章

python学习tkinter笔记(4)

本次主要是学习记录一下如何做输入输出框口,比如制作密码界面之类的. 下面是一个简单的输入框的制作: from tkinter import * root = Tk() e = Entry(root)#输入框 e.pack(padx=20,pady=20) e.delete(0,END) #把窗口从0到最后清空 e.insert(0,"默认文本") # 在0处放入默认文本字样 mainloop() 稍微复杂的框框 from tkinter import * root = Tk() Lab

Python 学习参考书目推荐

Python 学习,参考书目推荐 前言 好的技术书籍可以帮助我们快速地成长,大部分人或多或少地受益于经典的技术书籍.在「Python开发者」微信公号后台,我们经常能收到让帮忙推荐书籍的消息.这类的问题在@Python开发者 微博 和 伯乐在线的 Python小组 讨论中也不绝于耳. 7月3日,伯乐在线在「Python开发者」微信公号发起了一个讨论 (注:PC端无法看到大家的评论,需要关注微信公号后,从微信才可以看到),通过这个讨论话题,在评论中分享对自己帮助很大的Python技术书籍.  (Py

Python学习之路-Day1-Python基础

Python学习之路第一天 学习内容: 1.Python简介 2.安装 3.第一个Python程序 4.变量 5.字符编码 6.用户输入 7.表达式if..else语句 8.表达式for语句 9.break和continue 10.while循环 11.字符串格式化 1.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOB

Python学习系列(一)(基础入门)

Python入门 本系列为Python学习相关笔记整理所得,IT人,多学无害,多多探索,激发学习兴趣,开拓思维,不求高大上,只求懂点皮毛,作为知识储备,不至于落后太远.如果兴趣学习者,推荐一个基础视频:http://edu.51cto.com/lesson/id-11637.html 本文主要介绍Python的相关背景,环境搭建. 一.了解Python 1,关于Python的语言特点: 借用Python官网Https://www.python.org的解释: Python is powerful

Python学习资料整理以及书籍、开发工具推荐

我不知道大家学习Python的时候是不是和我一样感觉很无助,不知道在入门或者进阶的时候应该掌握哪些知识点,下面我就梳理下我自己学习Python开 发的过程及资料分享给大家,这些方法资料可能并不适合所有人,仅供大家参考.具体需要掌握哪些知识,我就不详解介绍了,我分享出来的资料都有具体的讲解的 哈. 入门阶段:1.HTML+css基础入门(HTML的语法.基本结构.标记.css样式等等)2.Javascript基础知识(掌握javascript的变量.数据类型.隐式转换.表达式.运算符等等)3.Jq

Python学习之路——强力推荐的Python学习资料

资料一:程序媛想事儿(Alexia)总结 Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用.它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务. Python上手虽然容易,但与其它任何语言一样要学好Python并非一日之功.我的Pyth

180分钟的python学习之旅

最近在很多地方都可以看到Python的身影,尤其在人工智能等科学领域,其丰富的科学计算等方面类库无比强大.很多身边的哥们也提到Python非常的简洁方便,比如用Django搭建一个见得网站只需要半天时间即可,因此也吸引了我不小的兴趣.之前相亲认识过一个姑娘是做绿色环保建筑设计行业的,提过她们的建筑物的建模也是使用Python,虽然被女神给拒绝了,但学习还是势在必行的,加油. 这部分只涉及python比较基础的知识,如复杂的面向对象.多线程.通信等知识会放在之后的深入学习中介绍,因此整个学习过程也

python   学习笔记 (核心)

python    学习笔记 (核心) Python解释器从头到尾一行接一行执行脚本 # -*- coding: UTF-8 -*-    //字符编码 不区分单引号和双引号,x='hello',x[0],x[-1]指最后一个字符,x[2:4]取子串, '''hello''' #hello三引号会保留文本输入时的换行符制表符等不需要转义,用于多行原样输入保存 'hello'+'world' #字符串拼接,'hello'*2 #字符串重复 help(fun) #帮助,help(module.met

Python学习之路,Day1 – Python基础1

写在前面的话: 大学毕业之后没有从事自己专业方面的工作,期间也做了很多工作,现在来到了一家物流公司,但是每天日复一日的工作,枯燥,乏味,发现这并不是自己想要的,自己也有自己的梦想,也有自己的追求,想起蒂夫·乔布斯说过,每个人都应该学习给电脑编写程序的技术,因为这一过程能够教你如何去思考! 在茫茫的编程语言中我选择了python,因为感觉它强大,应用到众多领域,相对其他语言或与更加的简单,既然选择过后就要走下去,自己选择的路,不留遗憾. Python学习第一天 本节内容: Python介绍 Pyt