python tkinter控件_python tkinter 控件与布局 项目实战

from tkinter import *

importtkinter.messagebox as messageboxclassTkdemo():def __init__(self):

master=Tk()

master.title("missWjz")

master.geometry('800x800')#创建菜单栏

menubar =Menu(master)

master.config(menu=menubar)#创建下拉菜单栏

filemenu = Menu(menubar,tearoff=0)

menubar.add_cascade(label="文件",menu=filemenu)

filemenu.add_command(label="新建",command=self.newfile)

filemenu.add_command(label="打开",command=self.openfile)

filemenu.add_command(label="保存",command=self.savefile)#增加分割线

filemenu.add_separator()

filemenu.add_command(label="关闭填写",command=master.quit)#Label(文字)

title = Label(master,text="这是一份Tkinter的问卷调查",font=15,bg='white',fg='red')

title.pack()#Frame 将问题1放在frame_1中

frame_1 =Frame(master)

frame_1.pack(fill=X)#问题1

label_1 = Label(frame_1,text="1、我们第一次见面的地方?")

label_1.grid(row=1,column=0)#Entry 问题一的输入框

self.name =StringVar()

entryname= Entry(frame_1,textvariable=self.name)#通过grid方法定位

entryname.grid(row=1,column=1)#Button 按钮

getname = Button(frame_1,text="点击确认",command=self.getname)

getname.grid(row=1,column=3)#Frame 将问题二放在frame_2中

frame_2 =Frame(master)

frame_2.pack(fill=X)#Label 问题二

label_2 = Label(frame_2,text="2、我记得你生日")

label_2.grid(row=1,column=0)#Radiobutton 选择按钮

self.sex =StringVar()

sex_male= Radiobutton(frame_2,text='记得',fg='blue',variable=self.sex,value='记得',command=self.getsex)

sex_male.grid(row=1,column=2)

sex_female= Radiobutton(frame_2,text='不可能',fg='red',variable=self.sex,value="不可能",command=self.getsex)

sex_female.grid(row=1,column=4)#Frame 问题3 放在frame_3中

frame_3 =Frame(master)

frame_3.pack(fill=X)#Label 问题3

label_3 = Label(frame_3,text="3、你对我的重要性:")

label_3.grid(row=1,column=0)#Scale 滑动条

self.age = Scale(frame_3,from_=0,to=100,orient=HORIZONTAL,resolution=1)

self.age.grid(row=1,column=1)#Button 按钮

getage = Button(frame_3,text='点我确认',command=self.getage)

getage.grid(row=1,column=2)#问题4 置于 Frame_4 中

frame_4 =Frame(master)

frame_4.pack(fill=X)#问题四

label_4 = Label(frame_4,text="4、去除一段过去:")

label_4.grid(row=1,column=0)#列表

self.listbox =Listbox(frame_4)

self.listbox.grid(row=1,column=1)for item in ["第一次看电影","第一次拍照留影","第一次一起吃饭","第一次一起出去玩"]:

self.listbox.insert(END,item)#s删除按钮

DELE = Button(frame_4,text="删除",command=lambda listbox=self.listbox: listbox.delete(ANCHOR))

DELE.grid(row=1,column=1)#确认按钮

review = Button(frame_4,text='点我确认',command =self.review)

review.grid(row=1,column=2)#问题五

frame_5 =Frame(master)

frame_5.pack(fill=X)

label_5= Label(frame_5,text='5、选择一个图案:')

label_5.grid(row=1,column=0)

self.canvas= Canvas(frame_5,width=200,height=200,bg='white')

self.canvas.grid(row=1,column=1)

self.pattern=StringVar()#图案选择按钮

btn_first = Button(frame_5,text = "第一个",command =self.First_display)

btn_second= Button(frame_5,text = "第二个",command =self.Second_dispaly)

btn_third= Button(frame_5,text = "第三个",command =self.Third_display)

btString= Button(frame_5, text="确定", command=self.displayString)

btn_first.grid(row=2,column=2)

btn_second.grid(row=2,column=3)

btn_third.grid(row=2,column=4)

btString.grid(row=2,column=5)#问题六 Frame_6

frame_6 =Frame(master)

frame_6.pack(fill=X)

label_6= Label(frame_6,text="6、在一起的天数:")

label_6.grid(row=1,column=0)#(Spinbox)

self.number = Spinbox(frame_6,from_=0,to=200)

self.number.grid(row=1,column=1)#确定按钮

number = Button(frame_6,text="确定",command=self.getnumber)

number.grid(row=1,column=2)#问题7 frame_7

frame_7 =Frame(master)

frame_7.pack(fill=X)#问题

label_7 = Label(frame_7,text="7、印象最深的一天:")

label_7.grid(row=1,column=0)#滚轮

scrollbar =Scrollbar(frame_7)

scrollbar.grid(row=1,column=1)#列表

self.listbox2 = Listbox(frame_7,height=5,yscrollcommand=scrollbar.set)for i in range(99):

self.listbox2.insert(END,str(i))

self.listbox2.grid(row=1,column=1)#确定按钮

star = Button(frame_7,text="确定",command=self.getstar)

star.grid(row=2,column=1)#问题8

frame_8 =Frame(master)

frame_8.pack(fill=X)

self.agree=StringVar()#Checkbutton 勾选按钮

agree = Checkbutton(frame_8,text="我确定此问卷信息准确无误",variable=self.agree,offvalue='不确定',command=self.getagree)

agree.grid(row=1,column=1)#问题9 Frame_9

frame_9 =Frame(master)

frame_9.pack()

submit= Button(frame_9,text="提交",command=self.allsubmit)

submit.grid(row=1,column=1)#问题十

frame_10 =Frame(master)

frame_10.pack()#容器框

self.group = LabelFrame(frame_10,text="特别鸣谢",padx=5,pady=5)

self.group.grid()

w= Label(self.group,text="本问卷由衷感谢:https://github.com/James95107/Tkinter/blob/master")

w.pack()

master.mainloop()defgetname(self):

name=self.name.get()print(name)defgetsex(self):

sex=self.sex.get()print(sex)defgetage(self):print(self.age.get())defreview(self):print(self.listbox.get(0, END))defgetstar(self):print(self.listbox2.get(ACTIVE))defdisplayString(self):

self.canvas.create_text(60, 40, text="您真棒!!!", font="Tine 10 bold underline", tags="string")print(self.pattern)defgetnumber(self):print(self.getnumber())defgetagree(self):print(self.agree.get())#打印心形

defFirst_display(self):

self.canvas.create_arc((5, 5, 85, 85),

width=2,

outline="red",

start=0,

extent=180,

style=ARC)

self.canvas.create_arc((85, 5, 165, 85),

width=2,

outline="red",

start=0,

extent=180,

style=ARC)

self.canvas.create_arc((5, -45, 165, 125),

width=2,

outline="red",

start=180,

extent=180,

style=ARC)

self.pattern= 'First'

#打印丘比特心形

defSecond_dispaly(self):

self.canvas.create_line((0,55, 200, 55),

width=2,

fill='red',

arrow=LAST,

arrowshape=(20, 40, 10)

)

self.canvas.create_arc((5, 5, 85, 85),

width=2,

outline="red",

start=0,

extent=180,

style=ARC)

self.canvas.create_arc((85, 5, 165, 85),

width=2,

outline="red",

start=0,

extent=180,

style=ARC)

self.canvas.create_arc((5, -45, 165, 125),

width=2,

outline="red",

start=180,

extent=180,

style=ARC)

self.pattern= 'Second'

#打印爱心

defThird_display(self):

self.canvas.create_text((90, 70), text="武峻竹",

font=('微软雅黑', 20, 'bold'),

fill='red')

self.canvas.create_arc((5, 5, 85, 85),

width=2,

outline="red",

start=0,

extent=180,

style=ARC)

self.canvas.create_arc((85, 5, 165, 85),

width=2,

outline="red",

start=0,

extent=180,

style=ARC)

self.canvas.create_arc((5, -45, 165, 125),

width=2,

outline="red",

start=180,

extent=180,

style=ARC)

self.pattern= 'Third'

#属性

#文件栏

defnewfile(self):

self.file= open(r"wujunzhu.txt",'w')

self.file.close()

messagebox.showinfo("创建文件","您已经成功创建个人资料文档") #显示对话框

defopenfile(self):

f= open(r"wujunzhu.txt",'r')try:

f_read=f.read()print(f_read)finally:

f.close()defsavefile(self):

messagebox.showwarning("保存文件","提交即保存!")defallsubmit(self):

with open('D:cpwords.txt','w',encoding='utf-8') as f:

f.write('我们第一见面的地方是:')

f.write(self.name.get())

f.write('\n我记得你生日:')

f.write(self.sex.get())

f.write('\n你对我的重要性:')

f.write(str(self.age.get()))

f.write('\n要去除一段过去是:')for i inself.listbox.get(0, END):

f.write(i)

f.write(",")

f.write('\n在一起的天数是:')

f.write(self.number.get())

f.write('\n印象最深的一天是:')

f.write(self.listbox2.get(ACTIVE))

f.write('\n')

f.write(self.agree.get())

f.write('本调查问卷的真实性')

messagebox.showinfo('Success', '恭喜您已成功提交') #显示对话框

Tkdemo()

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

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

相关文章

服务器开设虚拟主机,服务器自动开设虚拟主机

服务器自动开设虚拟主机 内容精选换一换Linux操作系统XEN实例变更为KVM实例前,必须已完成必要的驱动安装和配置。当您需要变更的Linux操作系统的XEN实例比较多时候,推荐您使用本节的批量自动配置的方法安装驱动,通过自动化脚本的方式批量为Li…

PS小知识

PS扣完背景后,保存时要选择PNG格式,而不是JPEG格式 JPEG格式不支持透明背景 扣了后一样是白色背景 PHG支持透明背景 推荐一个抠图网址 叫 搞定设计 抠图还挺好用的 免费

python人工智能是什么意思_Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现...

简单的问答已经实现了,那么问题也跟着出现了,我不能确定问题一定是"你叫什么名字",也有可能是"你是谁","你叫啥"之类的,这就引出了人工智能中的另一项技术: 自然语言处理(NLP) : 大概意思就是 让计算机明白一句话要表达的意思,NLP就相当于计算机…

服务器c的环境配置文件,配置linux服务器环境(jdk+tomcat+mysql+nginx+redis+svn+nexus的maven私服)...

一.安装jdk:1.远程连接工具我用的是xshell6;切换到root用户2.创建安装目录:创建安装目录3.将jdk上传到目录下,并解压:上传文件解压tar zxvf jdk-8u191-linux-x64.tar.gz文件解压后4.修改配置文件:vim /etc/…

Android studio如何写滚动视图

在布局文件里面的布局改为ScrollView(垂直滚动) 但是要注意,ScrollView只允许一个子元素,需要用一个LinearLayout嵌套作为它的子元素使用 加入后就有滚动效果了 还有一个是水平滚动 HorizontalScrollView

springboot启动_Spring boot启动原理解析

作者:平凡希链接:https://www.cnblogs.com/xiaoxi/p/7999885.html我们开发任何一个Spring Boot项目,都会用到如下的启动类SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringAppli…

PR高清60帧补帧教学附插件下载,目前最流畅的补帧教学

先说明一下,这个步骤是适合有点PR基础的人去观看的,小白的话可能看起来会有点懵逼 来了来了,直接输入干货 第一步:创建序列,不要直接拖入素材,序列要在设置-->编辑模式-->选为自定义-->时基--&g…

把一个dataset的表放在另一个dataset里面_现在开始:用你的Mac训练和部署一个图像分类模型...

可能有些同学学习机器学习的时候比较迷茫,不知道该怎么上手,看了很多经典书籍介绍的各种算法,但还是不知道怎么用它来解决问题,就算知道了,又发现需要准备环境、准备训练和部署的机器,啊,好麻烦…

Android studio的布局总结

首先我们的安卓的页面实际上的组件就是需要一些东西控制住他们 这些东西是什么呢,叫做布局管理器,一开始的开发中有常用的5款布局管理器 下面我来一一介绍其中的功能和一些关键字属性 1.relativelayout 相对布局管理器 属性:android:gra…

安装redis提示[test] error 2_安装PHP Redis扩展

安装PHP Redis扩展1、查看本机已经安装的Redis版本brew info redisredis: stable 5.0.7 (bottled), HEAD Persistent key-value database, with built-in net interface https://redis.io//usr/local/Cellar/redis/5.0.7 (13 files, 3.1MB) * Poured from bottle on 2020-02-19…

Android studio的监听器初学者要懂

首先,什么是监听器呢?监听器的作用是什么呢?我们如何去使用他? 1.什么是监听器:监听器的作用是什么呢? 监听器顾名思义,一旦你的按钮或者其他组件被你用例如鼠标点击,就会产生一个…

Android studio中获取按钮组的信息如何循环遍历

首先在XML文件中建立一个按钮 id 为bt3 在java文件中写入 RadioGroup rg2; 这是写在开头的全局变量 rg2 (RadioGroup) findViewById(R.id.rg_1);这里一定要进行初始化,否则会空指针异常Button bt (Button) findViewById(R.id.bt3);bt.setOnClickListener(new …

zincrby redis python_【Redis数据结构 序】使用redis-py操作Redis数据库

想要看更加舒服的排版、更加准时的推送关注公众号“不太灵光的程序员”每日八点有干货推送同时发布《【Redis数据结构 1序】1使用redis-py操作Redis数据库》本文依旧会对学习内容进行拆分,建议阅读时间基本保持10分钟内,想学习之前章节内容点击《你不了解…

python函数知识点总结_python函数map()和partial()的知识点总结

map()是python的一个内建函数, 他能够通过函数来处理序列,比如,我们相关一个数组[0,1,2,3,4,5]所有的数字都2 , 当然,我们可以这么做 old [0,1,2,3,4,5] new [] for it…

Android studio的UI组件

1.文本框组件 掌管文字大小&#xff0c;文字来源&#xff0c;文字是否以行的形式显示&#xff0c;对齐方式居中 9patch图片拉伸不变形&#xff0c;需要放在drawable中 <TextViewandroid:layout_width"wrap_content"android:layout_height"wrap_content"…

visual paradigm 表示选择关系_知识获取的新挑战—远程监督关系抽取

本文主要介绍远程监督关系抽取任务上两个最新的工作。远程监督&#xff08;Distantly Supervised&#xff09;是关系抽取&#xff08;Relation Extraction&#xff09;的一种主要实现方法。关系抽取是指获得文本中的三元组&#xff08;triple&#xff09;&#xff0c;包括实体对…

Android studio的Activity详解

Activity就相当于我们的手机界面&#xff0c;里面包含着各个组件 Activity 的4种状态 运行状态&#xff1a;屏幕可视&#xff0c;且可以进行操作 暂停状态&#xff1a;返回退出的时候&#xff0c;询问是否退出运行状态&#xff0c;此时属于暂停状态 ------------------------…

arraylist 的扩容机制_每天都用ArrayList,你读过它的源码么?

作者&#xff1a;陌北有棵树&#xff0c;玩Java&#xff0c;架构师社区合伙人&#xff01;【一】关于扩容如果没有指定初始容量&#xff0c;则设置为10/** * Default initial capacity. */private static final int DEFAULT_CAPACITY 10;ArrayList的扩容比较简单&#xff0c;容…

JAVA入门级教学之(IDEA工具的快捷键和简单设置)

1.字体font file-->settings-->输入font-->设置字体样式以及字号大小 2.快速生成main方法 psvm 3.快速输出Systm.out.println(); sout 4.删除一行 ctrly 5.怎么运行 代码删右键run 或者点击右上角箭头 shiftf10(不同电脑可能不一样) 6.左侧窗口中的列表怎么展开…

java selenium_selenium 常见面试题以及答案(Java版)

1.怎么 判断元素是否存在&#xff1f;判断元素是否存在和是否出现不同&#xff0c; 判断是否存在意味着如果这个元素压根就不存在&#xff0c; 就会抛出NoSuchElementException这样就可以使用try catch&#xff0c;如果catch到NoSuchElementException 就返回false2.如何判断元素…