凑合着做了一个彩色字符计算器界面——Python学习笔记之二十

凑合着做了一个彩色字符计算器界面——Python学习笔记之二十

那本厚厚的luze的Python编程学习手册,看到GUI那一部分,总是要碰到一些绕不开的坎。因为文件名的情形,在显示照片的那部分,无论你怎么样折腾,也折腾不过去。真有点像几天前的郑州大水淹没了隧道阻住了汽车的通行,地铁五号线灌进了水阻住了地铁的通行一样。不过,只是有那么丁丁点相像而已。实在的世界和字符的世界终究不是一回事。实在的世界真有可能让你无路可退,也无路可进,最后被无情的灾祸所吞没。字符的世界,则似乎总会让你有贯通之路。厚书难读,换一本薄的看看,也许就柳暗花明又一村的呢。把有关GUI的东西,换一本较薄的菜鸟式gui编程书,一口气看完,也操作完前四章,照片显示的问题好像解决了。而且第四章接近尾声的时候,每一个小编程都还算顺利过关的经历,突然给了你一点勇气,自己来编一个试试。
有了这想法,开始思考编什么,自然是从最简单的开始,而且还要有模本。模本立刻就想到,使用第四章那个计算器按钮的布局合适。也就立一个小目标,给每个按钮配置一个颜色吧。于是,就有以下自制编程的一段历程。

一、十几个按钮太多,先做两个按钮的界面

Ch1234-1
from tkinter import *

root = Tk()
root.title('彩色计算器')

Colors=['red','green']

lab = Label(root,text='',bg='blue',width=20)
redbtn = Button(root,text='one', fg='red', width=10)
greenbtn = Button(root,text='two', fg='green', width=10)


lab.grid(row=0,column=0,columnspan=4)
redbtn.grid(row=1,column=0,padx=10)
greenbtn.grid(row=1,column=1,padx=10)

root.mainloop()

执行后图片
在这里插入图片描述

那些色彩的编码原来是胡编,去掉多余的成ch1234-2

from tkinter import *

root = Tk()
root.title('彩色字符计算器')

lab = Label(root,text='',bg='yellow',width=20)
redbtn = Button(root,text='one', fg='red', width=10)
greenbtn = Button(root,text='two', fg='green', width=10)

lab.grid(row=0,column=0,columnspan=4)
redbtn.grid(row=1,column=0,padx=10)
greenbtn.grid(row=1,column=1,padx=10)

root.mainloop()

执行后的结果图片
在这里插入图片描述

二、无意中发现给按钮配色的技巧没有学到,却发现可以给文本字体配色

这才发现,原先设想的按钮颜色设置得另想办法,这里的颜色不是按钮的,而是字符的颜色。那就干脆多做些按钮,从二个增加到16个,正好四行,加上一个exit按钮,于是有ch1234-3
from tkinter import *

root = Tk()
root.title(‘彩色字符计算器’)

lab = Label(root,text=’’,bg=‘purple’,width=20)
redbtn = Button(root,text=‘ONE’, fg=‘red’, width=10)
greenbtn = Button(root,text=‘TWO’, fg=‘green’, width=10)
yellowbtn = Button(root,text=‘THREE’, fg=‘yellow’, width=10)
bluebtn = Button(root,text=‘x’, fg=‘blue’, width=10)
orangebtn = Button(root,text=‘FOUR’, fg=‘orange’, width=10)
brownbtn = Button(root,text=‘FIVE’, fg=‘brown’, width=10)
graybtn = Button(root,text=‘SIX’, fg=‘gray’, width=10)
darkredbtn = Button(root,text=’-’, fg=‘darkred’, width=10)
darkgreenbtn = Button(root,text=‘SEVNE’, fg=‘darkgreen’, width=10)
darkyellowbtn = Button(root,text=‘EIGHT’, fg=‘lightyellow’, width=10)
darkbluebtn = Button(root,text=‘NINE’, fg=‘darkblue’, width=10)
darkorangebtn = Button(root,text=’+’, fg=‘darkorange’, width=10)
darkbrownbtn = Button(root,text=‘0’, fg=‘brown’, width=10)
darkgraybtn = Button(root,text=’.’, fg=‘darkgray’, width=10)
darkgoldbtn = Button(root,text=’=’, fg=‘gold’, width=10)
goldbtn = Button(root,text=‘EXIT’, fg=‘black’, width=10)

lab.grid(row=0,column=0,columnspan=4)
redbtn.grid(row=1,column=0,padx=10)
greenbtn.grid(row=1,column=1,padx=10)
yellowbtn.grid(row=1,column=2,padx=10)
bluebtn.grid(row=1,column=3,padx=10)
orangebtn.grid(row=2,column=0,padx=10)
brownbtn.grid(row=2,column=1,padx=10)
graybtn.grid(row=2,column=2,padx=10)
darkredbtn.grid(row=2,column=3,padx=10)
darkgreenbtn.grid(row=3,column=0,padx=10)
darkyellowbtn.grid(row=3,column=1,padx=10)
darkbluebtn.grid(row=3,column=2,padx=10)
darkorangebtn.grid(row=3,column=3,padx=10)
darkbrownbtn.grid(row=4,column=0,padx=10)
darkgraybtn.grid(row=4,column=1,padx=10)
darkgoldbtn.grid(row=4,column=2,padx=10)
goldbtn.grid(row=4,column=3,padx=10)

root.mainloop()

执行后的图片
在这里插入图片描述

三、又是一个奇怪的念头,把显示照片的标签加到彩色计算机按钮图中,于是标签就成了两个,一个是lab1,另一个是lab2,这就产生了ch1234-4.

这个想法立刻就实现了,好像没有任何周折,一次就增加成功了,有点意思。
from tkinter import *

root = Tk()
root.title(‘彩色字符计算器和Python图片’)
root.geometry(‘640x480’)
five = PhotoImage(file=‘five.gif’)
lab1=Label(root, image=five)
lab1.place(relx=0.2,rely=0.2,relwidth=0.8,relheight=0.8)

lab2 = Label(root,text=’’,bg=‘purple’,font=‘Italic 20 bold’)
redbtn = Button(root,text=‘ONE’, fg=‘red’, width=10)
greenbtn = Button(root,text=‘TWO’, fg=‘green’, width=10)
yellowbtn = Button(root,text=‘THREE’, fg=‘yellow’, width=10)
bluebtn = Button(root,text=‘x’, fg=‘blue’, width=10)
orangebtn = Button(root,text=‘FOUR’, fg=‘orange’, width=10)
brownbtn = Button(root,text=‘FIVE’, fg=‘brown’, width=10)
graybtn = Button(root,text=‘SIX’, fg=‘gray’, width=10)
darkredbtn = Button(root,text=’-’, fg=‘darkred’, width=10)
darkgreenbtn = Button(root,text=‘SEVEN’, fg=‘darkgreen’, width=10)
darkyellowbtn = Button(root,text=‘EIGHT’, fg=‘lightyellow’, width=10)
darkbluebtn = Button(root,text=‘NINE’, fg=‘darkblue’, width=10)
darkorangebtn = Button(root,text=’+’, fg=‘darkorange’, width=10)
darkbrownbtn = Button(root,text=‘0’, fg=‘brown’, width=10)
darkgraybtn = Button(root,text=’.’, fg=‘darkgray’, width=10)
darkgoldbtn = Button(root,text=’=’, fg=‘gold’, width=10)
goldbtn = Button(root,text=‘EXIT’, fg=‘black’, width=10)

lab2.grid(row=0,column=0,columnspan=4)
redbtn.grid(row=1,column=0,padx=10)
greenbtn.grid(row=1,column=1,padx=10)
yellowbtn.grid(row=1,column=2,padx=10)
bluebtn.grid(row=1,column=3,padx=10)
orangebtn.grid(row=2,column=0,padx=10)
brownbtn.grid(row=2,column=1,padx=10)
graybtn.grid(row=2,column=2,padx=10)
darkredbtn.grid(row=2,column=3,padx=10)
darkgreenbtn.grid(row=3,column=0,padx=10)
darkyellowbtn.grid(row=3,column=1,padx=10)
darkbluebtn.grid(row=3,column=2,padx=10)
darkorangebtn.grid(row=3,column=3,padx=10)
darkbrownbtn.grid(row=4,column=0,padx=10)
darkgraybtn.grid(row=4,column=1,padx=10)
darkgoldbtn.grid(row=4,column=2,padx=10)
goldbtn.grid(row=4,column=3,padx=10)

root.mainloop()

执行后的图片
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值