tkinter 界面设计 — 画板

本文介绍了如何使用Python的tkinter库设计一个简单的画板应用程序。通过面向对象的方法,实现了画直线、带箭头直线、矩形、椭圆、自由画笔和橡皮擦等功能。程序基于教程并进行了调整,学习过程中强调了对控件函数的理解和问题解决的重要性。
摘要由CSDN通过智能技术生成

标题 tkinter 界面设计 — 画板

上一次写文章还是7.18号了,到现在快20天没有更新了。也不是因为懒,我学习python的时间并不是很多。只有每天早上或者晚上下班回家才有时间。从上次更新到今天。这20天的时间里,学习了新的内容。就是 tkinter 界面设计。这里对 tkinter 就不过多介绍。先记录一下我学习的第一个软件 —— 画板
首先看一下界面效果。
空白区域就是绘图区域,也就是创建一个画布。根据不同粗细的画笔,绘制不同的图像

代码实现

导入需要的模块

from tkinter import *
import tkinter as tk
from tkinter.simpledialog import *
from tkinter.colorchooser import *

采用面向对象的方式,分步实现每个控件的功能。
1、设计主窗口界面

if __name__ == '__main__':
    mywindow = Tk()
    win_width = 900
    win_height = 500
    mywindow.geometry(str(win_width) + "x" + str(win_height + 50) + "+200+300")
    mywindow.title('画板')
    app = DrawApp(master=mywindow)
    mywindow.mainloop()

geometry的代码格式是 geometry(“axb+c+d”) 其中“x” 是字母 x
2、创建类,继承 Frame 模块

class DrawApp(Frame):
    """开发画图软件"""

    def __init__(self, master=None, bgcolor="white"):
        super().__init__(master)  # super 父类方法调用
        self.master = master
        #  self.v = StringVar(mywindow)  用于存储变量,方便后面获取笔号,画出不同粗细的图画
        self.v = StringVar(mywindow)
        #  设置背景颜色,背景色为白色
        self.bgcolor = bgcolor
        #  设置xy 的初始值
        self.x = 0
        self.y = 0
        # 设置默认前景色,也就是画笔的颜色
        self.fgcolor = "red"
        self.lastDraw = 0
        self.startDrawFlag = False
        self.pack()
        self.creatwidget()

3、 创建画布,并且依次排列各个组件

 def creatwidget(self):
        """创建新的组件"""
        # 创建一个绘图区域
        self.drawpad = Canvas(mywindow, width=win_width, height=win_height, bg=self.bgcolor)
        self.drawpad.pack()
        # 创建按钮
        btn_start = Button(mywindow, text="开始", width=10, name="start")
        btn_start.pack(side="left")
        #  这里创建一个多选菜单,可供选择不同粗细的笔号
        #  设置变量,存储笔号,方便后面判断不同的笔号,响应不同的程序,做出不同的输出
        self.v.se
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

维维不威威

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值