- 还是为慕课准备的资料,打算带打一下类和对象,为了方便,使用了这个例子,原理一样,无须赘述。
- 开始的时候琢磨用tkinter库导入图像啥的,碰到了个问题:
_tkinter.TclError: couldn't recognize data in image file
,查找库函数发现它的PhotoImage的原话是:Widget which can display colored images in GIF, PPM/PGM format.
格式都支持不全,无语了,所以只能转向使用PIL库了,里面的ImageTk的同样功能的PhotoImage使用起来毫无压力,小插曲。 - 整体思路简单:创建好界面,然后界面上放置扑克即可。
- 首先整理下界面绘制的步骤,直接写代码了,所以不废话了,直接看代码,至于为何这样弄,你学习下库函数就知道了:
import tkinter as tk
win = tk.Tk() #第一步,建立窗口
win.title('发牌程序') #第二步,给窗口起名字
win.geometry('800x600') #第三步,设定窗口的大小(长x宽)
cv = tk.Canvas(win, bg='green', width=800, height=600) # 第四步,在界面上组织图形,该画布上放置各种元素
cv.pack() #第五步,放置图形,常用的是pack和place两种方法
win.mainloop() #第六步,主窗口循环显示
测试下先,结果如下:
我去,把我桌面也截屏进来了,影响美观,算了就这样看看哇。
5. 接下来要琢磨下第四步后面,我们可以把牌放在画布上,这个问题就麻烦多了,要创建好牌,洗牌,发牌等等,好在上个控制台版本已经琢磨过了,这里稍微封装下,这里直接使用即可。
6. 先来个简单的试试吧,要不整一堆进来不能用就浪费时间了,在上面第四步后面加入如下代码:
from PIL