很多人想做一款属于自己的编译器吧!今天,我们来做一款简易TK创建器。
分析:
1,询问模式
2,根据模式输入指令个数
3,创建GUI和该指令
4,显示
首先,我们要询问模式。这边分为2种模式,分别是单个组件和单个GUI,既然要询问,那就有输入input指令,看一看输入源代码吧!
print('您可选择单个组件或单个GUI')
a=input('请选择模式:')
接着,我们就要对输入的模式进行判断,if语句不可少。
if a=='单个GUI':
#下方代码等会讲解
elif a=='单个组件':
#下方代码等会讲解
进入下一个步骤。首先,确定好GUI组件(button/label/entry/text)
然后将它打印出来
print('您可选择单个组件或单个GUI')
a=input('请选择模式:')
print('您可使用button/label/entry/text')
输入组件个数
a=int(input('指令个数:'))
但是输入内容不是整数就会报错
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
a=int(input())
ValueError: invalid literal for int() with base 10: 'a'
所以需要异常处理
try:
a=int(input('指令个数:'))
except:
print('请输入一个整数!')
#请写在if语句中
这样就不会报错啦!
既然输入了指令个数,那就得输入多次,用for语句获取GUI指令
for i in range(a):
a=input('GUI指令')
接着需要判断输入内容,用if语句
if a =='label':
#代码后面讲
但只有一个组件太孤单了!elif语句
if a =='label':
#后面讲
elif a=='button':
#后面讲
elif a=='entry':
#后面讲
elif a=='text':
#后面讲
既然需要创建GUI,那就得导入tkinter的库。
from tkinter import * #建议使用这种
#也可使用:
import tkinter
接着,完善if语句部分
使用组件(首字母大写)即可
#变量=组件名称(变量,其他)
#例:
root = Tk()
label=Label(root,text='')
完整代码:
from tkinter import *
print('您可选择单个组件或单个GUI')
a=input('请选择模式:')
print('您可使用button/label/entry/text')
root = Tk()
if a=='单个GUI':
try:
a=int(input('指令个数:'))
except:
print('请输入一个整数!')
for i in range(a):
a=input('GUI指令')
if a =='label':
b=input('text:')
label=Label(root,text=b)
label.pack()
elif a=='button':
b=input('text:')
button=Button(root,text=b)
button.pack()
elif a=='entry':
entry=Entry(root)
entry.pack()
elif a=='text':
text=Text(root)
text.pack()
elif a=='单个组件':
try:
c=int(input('组件个数'))
except:
print('请输入一个整数')
for i in range(c):
a=input('GUI指令')
root = Tk()
if a =='label':
b=input('text:')
label=Label(root,text=b)
label.pack()
elif a=='button':
b=input('text:')
button=Button(root,text=b)
button.pack()
elif a=='entry':
entry=Entry(root)
entry.pack()
elif a=='text':
root = Tk()
text=Text(root)
text.pack()
else:
print('Pyform not find {}'.format(a))