用Python做一款自己的TK创建器

很多人想做一款属于自己的编译器吧!今天,我们来做一款简易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))

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值