狗剩学python:基本概念笔记(五)

五、tkinter图形界面(一)

大概这是参加工作以来休得唯一一个寒假了

tkinter:

0.字符串设置

e = tkinter.Variable()  #entry控件的字符变量
hobby1 = tkinter.BooleanVar() #checkbox控件的字符变量  variable=hobby1
lbv = tkinter.StringVar()     #listbox控件的字符变量   listvariable=lbv
v = tkinter.StringVar()       #spinbox控件的字符变量   textvariable=v
v = tkinter.StringVar()       #Menubar_radiobutton变量 variable=v
v = tkinter.IntVar()          #Radiobutton控件的变量    variable=v

1.确定tkinter框架:

import tkinter

root = tkinter.Tk()

root.tittle("标题")

root.geometry("300x300+150+150") #确定图形界面大小及弹出的位置。

root.mainloop()

2.label控件

import tkinter

root = tkinter.Tk()

root.tittle("标题")

root.geometry("300x300+150+150") #确定图形界面大小及弹出的位置。

label = label = tkinter.Label(root, text="文本",
                      bg="pink",
                      fg="black",
                      font=("黑体", 20),
                      width=10,
                      height=8,
                      wraplength=100,
                      justify="left",
                      anchor="e")
label.pack()

root.mainloop()

3.button

import tkinter
import sys
def func():
    print("好男人就是我,我就是狗小剩.")

root = tkinter.Tk()

root.title("Button控件")

root.geometry("300x500+150+150")

button1 = tkinter.Button(root, text="按钮", command=func, width=10, height=10)
button1.pack()

button3 = tkinter.Button(root, text="内联函数", command=lambda:print("好男人就是我,我就是狗小剩"),  width=10, height=10)
button3.pack()

button2 = tkinter.Button(root, text="退出", command=root.quit())
button2.pack()
root.mainloop()

4.entry控件

import tkinter

root = tkinter.Tk()

root.title("Entry控件")

root.geometry("300x300+150+150")

e = tkinter.Variable()  #entry控件的字符变量

entry = tkinter.Entry(root, textvariable=e)
entry.pack()
e.set("好男人就是我,我就是狗小剩")
root.mainloop()

5.text控件

import tkinter

root = tkinter.Tk()

root.title("Text控件")

#root.geometry("300x300+300+300")

str = '''字符串内容'''

text = tkinter.Text(root, width=30, height=4)
scroll = tkinter.Scrollbar(root)
scroll.pack(side=tkinter.RIGHT, fill=tkinter.Y)
text.pack(side=tkinter.LEFT, fill=tkinter.Y)
#滚动条关联
scroll.config(command=text.yview)
text.config(yscrollcommand=scroll.set)


text.insert(tkinter.INSERT, str)
root.mainloop()


6.控件与滑动条控件之间的关联

控件=tkinter.控件
scroll = tkinter.scrollbar(root)

控件.pack(side=tkinter.LEFT, fill=tkinter.Both)
scroll.pack(side=tkinter.RIGHT, fill=tkinter.Y)

#放置关联

scroll.config(command=控件.yview)
控件.config(yscrollcommand=scroll.set)

7.checkbox控件

import tkinter

def updata():
   message = ""
   if hobby1.get() ==True:
       message += "1\n"
   if hobby2.get() == True:
        message += "2\n"
   if hobby3.get() == True:
        message += "3\n"
   text.delete(1.0, tkinter.END)
   text.insert(tkinter.INSERT, message)
root = tkinter.Tk()

root.title("checkbox")

root.geometry("300x300+150+150")


hobby1 = tkinter.BooleanVar()
check1 = tkinter.Checkbutton(root, text="1", variable=hobby1, command=updata)
check1.pack()

hobby2 = tkinter.BooleanVar()
check2 = tkinter.Checkbutton(root, text="2",  variable=hobby2, command=updata)
check2.pack()

hobby3 = tkinter.BooleanVar()
check3 = tkinter.Checkbutton(root, text="3",  variable=hobby3, command=updata)
check3.pack()

text = tkinter.Text(root, width=50, height=50)
text.pack()

root.mainloop()

8.listbox控件

import tkinter

root = tkinter.Tk()

root.title("listbox控件")

root.geometry("300x300+150+150")

lbv = tkinter.StringVar()
listbox = tkinter.Listbox(root, selectmode=tkinter.BROWSE, listvariable=lbv)
#SINGLE不支持鼠标移动
listbox.pack()

Girls = ["杨宁东", "韩雪", "刘诗诗", "袁泉", "古力娜扎", "佟丽娅"]

#for girl in Girls:
 #   listbox.insert(tkinter.END, girl)
lbv.set(Girls)

listbox.insert(tkinter.ACTIVE, "我的女神列表")
listbox.select_set(2,  4)
#listbox.delete(4)
#listbox.select_clear(3)

#print(listbox.select_includes(3))

#print(listbox.curselection())

def myPrint(event):
    print(listbox.get(listbox.curselection()))
listbox.bind('<Double-Button-1>', myPrint)
root.mainloop()

9.scale控件

import tkinter

root = tkinter.Tk()

root.title("scale控件")

root.geometry("300x300+150+150")



scale = tkinter.Scale(root, from_=0, to=100, orient=tkinter.HORIZONTAL, tickinterval=100, length=200)

scale.set(20)

scale.pack()

#scale_2 = tkinter.Scale(root, from_=0, to=100, orient=tkinter.VERTICAL)

#scale_2.pack()

def showNum():
    print(scale.get())

button = tkinter.Button(root, text="按钮", command=showNum)
button.pack()
root.mainloop()

10.spinbox控件

import tkinter

root = tkinter.Tk()

def update():
    print(v.get())

root.title("spinbox控件")

root.geometry("300x300+150+150")

v = tkinter.StringVar()

spinbox = tkinter.Spinbox(root, from_=0, to=100, increment=5, textvariable=v, command=update)

v.set(20)


spinbox.pack()
root.mainloop()

11.菜单控件

import tkinter
import os


root = tkinter.Tk()

root.title("Menubox控件")

root.geometry("300x300+150+150")





def func():
    print(v.get()+"语言")


v = tkinter.StringVar()

menubar = tkinter.Menu(root)
menubar1 = tkinter.Menu(menubar, tearoff=False)
language = ["C", "C++", "Java", "Python", "php", "JS", "退出"]
for item in language:
    if item == "退出":
        menubar1.add_radiobutton(label=item, command=lambda: os.system(exit()))
    else:
        menubar1.add_radiobutton(label=item, command=func, variable=v)
        menubar1.add_separator()
menubar.add_cascade(label="语言", menu=menubar1)


menubar2 = tkinter.Menu(menubar, tearoff=False)
color = ['red', 'green', 'blue', 'black', 'white']
for item in color:
    menubar2.add_command(label=item, command=func)

menubar.add_cascade(label="颜色", menu=menubar2)

root.config(menu=menubar)
root.mainloop()

menu设置规律:

menu = tkinter.Menu(root)
menubar = tkinter.Menu(menu, tearoff=False/True)
列表=['1','2','3'... ...]
for item in 列表:
	menubar.add_command(label=item... ...)
	menubar.separator()
menu.add_cascade(label="标题", menu=menubar)
root.config(menu=menu)
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值