日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python软件怎么打开画图_Python实现画图软件功能

發布時間:2023/12/31 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python软件怎么打开画图_Python实现画图软件功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

雖然Python的強項在人工智能,數據處理方面,但是對于日常簡單的應用,Python也提供了非常友好的支持(如:Tkinter),本文主要一個簡單的畫圖小軟件,簡述Python在GUI(圖形用戶界面)方面的應用,僅供學習分享使用,如有不足之處,還請指正。

設計思路

頁面布局:主要分為上下兩部分 a. 繪圖區域,本例以Canvas實現 b. 下部:功能區,由按鈕實現

事件監聽:通過給功能按鈕綁定事件,來實現不同的功能,如:繪線,繪矩形等功能。

繪圖區域:監聽鼠標左鍵的按下(開始繪圖)和抬起(停止繪圖),再根據不同的按鈕實現繪制不同的圖形。

涉及知識點

開發工具:Python3.7 , PyCharm2019

Tkinter 是 Python 的標準 GUI 庫。Python 使用 Tkinter 可以快速的創建 GUI 應用程序。

Canvas控件提供了一個自定義的繪圖區域,可以通過不同的函數來繪制不同的圖形。

繪制直線 create_line(self.x,self.y,event.x,event.y,fill=self.fgcolor)

繪制帶箭頭的直線 create_line(self.x,arrow=LAST,fill=self.fgcolor)

繪制矩形 create_rectangle(self.x,outline=self.fgcolor)

繪制曲線,是通過繪制不同的點來實現的

清除圖形 drawpad.delete('all')

Button 按鈕控件,通過綁定(bind)不同的監聽事件來實現不同的功能。

name屬性設置按鈕的名稱,

text屬性設置按鈕的顯示文本。

bind 綁定事件

示例效果圖

本例主要實現繪制直線,帶箭頭的直線,曲線,矩形,清除等功能,如下所示:

核心代碼

在本例中,主要功能如下:

創建畫板

1 """創建畫圖區域"""

2 self.drawpad = Canvas(self,width=win_width,height=win_height,bg=bgcolor)3 self.drawpad.pack()

View Code

創建按鈕

1 #創建按鈕

2 self.btn_start = Button(self,name='start',text=開始')3 self.btn_start.pack(side=left4 self.btn_pen = Button(self,1)">pen畫筆5 self.btn_pen.pack(side=6 self.btn_rect = Button(self,1)">rect矩形7 self.btn_rect.pack(side=8 self.btn_clear = Button(self,1)">clear清屏9 self.btn_clear.pack(side=10 self.btn_erasor = Button(self,1)">erasor橡皮擦11 self.btn_erasor.pack(side=12 self.btn_line = Button(self,1)">line直線13 self.btn_line.pack(side=14 self.btn_line_arrow = Button(self,1)">line_arrow箭頭直線15 self.btn_line_arrow.pack(side=16 self.btn_color = Button(self,1)">color顏色17 self.btn_color.pack(side=View Code

綁定事件

1 綁定事件

2 self.btn_line.bind(點擊按鈕事件

3 self.btn_line_arrow.bind(4 self.btn_rect.bind(5 self.btn_pen.bind(6 self.btn_erasor.bind(7 self.btn_clear.bind(8 self.btn_color.bind(點擊按鈕事件

View Code

功能實現

1 defeventManager(self,event):2 name =event.widget.winfo_name()3 print(name)4 self.start_flag =True5 if name == :6 左鍵拖動

7 self.drawpad.bind(,self.myline)8 elif name == 9 self.drawpad.bind(10 11 self.drawpad.bind(12 13 self.drawpad.bind(14 15 self.drawpad.bind(16 17 self.drawpad.delete(all18 19 c = askcolor(color=self.fgcolor,title=請選擇顏色20 print(c) c的值 ((128.5,255.99609375,0.0),'#80ff00')

21 self.fgcolor = c[1]22

23 startDraw(self,1)">24 self.drawpad.delete(self.lastdraw)25 ifself.start_flag:26 self.start_flag =False27 self.x =event.x28 self.y =event.y29

30 stopDraw(self,1)">31 self.start_flag =32 self.lastdraw =033

34 myline(self,1)">35 self.startDraw(event)36 self.lastdraw = self.drawpad.create_line(self.x,fill=self.fgcolor)37

38 myline_arrow(self,1)">39 40 self.lastdraw = self.drawpad.create_line(self.x,1)">41

42 myrect(self,1)">43 44 self.lastdraw = self.drawpad.create_rectangle(self.x,outline=45

46 mypen(self,1)">47 48 print(self.x=49 self.drawpad.create_line(self.x,1)">50 self.x =51 self.y =52

53 myerasor(self,1)">54 55 56 self.drawpad.create_rectangle(event.x - 3,event.y - 3,event.x + 3,event.y + 3,1)">57 self.x =58 self.y = event.y

View Code

快捷鍵的實現

1 self.master.bind(綁定快捷鍵

2 self.master.bind(3 self.master.bind(4 self.master.bind(5 self.drawpad.bind(左鍵釋放按鈕

View Code

快捷鍵功能實現

1 hotKey(self,1)"> 2 c =event.charif c == r4 self.fgcolor = red'

elif c == g6 self.fgcolor = green7 b8 self.fgcolor = blue9 y10 self.fgcolor = yellow'

View Code

有需要的朋友,可點擊鏈接下載整體代碼,如下所示:

備注

不積跬步,無以至千里;不積小流,無以成江海;鍥而舍之,朽木不折,鍥而不舍,金石可鏤。

總結

以上是編程之家為你收集整理的Python實現畫圖軟件功能全部內容,希望文章能夠幫你解決Python實現畫圖軟件功能所遇到的程序開發問題。

如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。

本圖文內容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。

如您喜歡交流學習經驗,點擊鏈接加入編程之家官方QQ群:1065694478

總結

以上是生活随笔為你收集整理的python软件怎么打开画图_Python实现画图软件功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。