1、返回原點(diǎn)

樺南網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),樺南網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為樺南數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的樺南做網(wǎng)站的公司定做!
home()
無參數(shù),直接調(diào)用
2、畫圓
circle(radius,extent,steps)
參數(shù):radius 指定圓的半徑,extent 繪制圓弧的夾角,steps 多邊形變數(shù)不給默認(rèn)值
3、畫點(diǎn)
dot(size,color)
參數(shù):size繪制點(diǎn)的直徑值,color點(diǎn)的色彩
4、印章
stamp()
無參數(shù)
5、清除印章
clearstamp(stampid)清楚印章
clearstamps(n=None) 清楚多個(gè)印章
參數(shù):stampid是調(diào)用stamp函數(shù)返回的ID值,n為None則刪除全部印章,如果n0則刪除前n個(gè)印章,n
import turtle
turtle.showturtle() #屏幕上顯示出來海龜繪圖,終端中會(huì)用到
turtle.penup() #抬起畫筆,此時(shí)畫筆的移動(dòng)不會(huì)留下痕跡
turtle.pendown() #放下畫筆,此時(shí)畫筆的移動(dòng)會(huì)留下痕跡
turtle.pensize(3) #筆粗為3
turtle.goto(-200,100) #將畫筆移動(dòng)到(-200,100)坐標(biāo)
turtle.color("red") #設(shè)定畫筆的顏色為紅色
turtle.circle(100) #以當(dāng)前畫筆所在點(diǎn)為圓最下端開始畫半徑為100的圓
turtle.circle(100,steps=n) #繪制一個(gè)周長為100,的n邊形
turtle.forward(200) #將畫筆前進(jìn)200
turtle.backward(100) #將比后退100
turtle.right(70) #將畫筆箭頭的方向向右移70度
turtle.left(90) #將畫筆箭頭的方向向左移90度
turtle.stamp() #復(fù)制當(dāng)前圖形
turtle.write("hello,小朋友",font=('宋體',20,"normal")) #添加括號里的字符,font設(shè)置字符字體,大小以及作用
turtle.reste() #重置
turtle.hideturtle() #將畫筆隱藏
turtle.done() #把所繪圖顯示出來,不關(guān)閉繪圖軟件
給繪制的圖形填充顏色
turtle.begin_fill()
turtle.circle(100)
turtle.color("yellow")
turtle.end_fill()
1
2
3
4
例:畫出奧運(yùn)五環(huán)
import turtle
turtle.color("blue")
turtle.circle(100)
turtle.penup()
turtle.goto(-200,0)
turtle.pendown()
turtle.color("red")
turtle.circle(100)
turtle.penup()
turtle.goto(200,0)
turtle.color("yellow")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(-100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.done()
###################################
# coding=utf-8
# !/usr/bin/env python
# __author__ = 'pipi'
# ctime 2014.10.11
# 繪制橢圓和圓形
###################################
from matplotlib.patches import Ellipse, Circle
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ell1 = Ellipse(xy = (0.0, 0.0), width = 4, height = 8, angle = 30.0, facecolor= 'yellow', alpha=0.3)
cir1 = Circle(xy = (0.0, 0.0), radius=2, alpha=0.5)
ax.add_patch(ell1)
ax.add_patch(cir1)
x, y = 0, 0
ax.plot(x, y, 'ro')
plt.axis('scaled')
# ax.set_xlim(-4, 4)
# ax.set_ylim(-4, 4)
plt.axis('equal') #changes limits of x or y axis so that equal increments of x and y have the same length
plt.show()
你可以試試,謝謝。
根據(jù)圓的面積公式和周長公式,導(dǎo)入math庫獲得Π的值(math.pi),利用input函數(shù)獲得圓的半徑值,編寫計(jì)算公式,利用format()函數(shù)指定字符串格式輸出含兩位小數(shù)的圓的面積和周長。代碼如下:
主要含義:
將程序設(shè)計(jì)和數(shù)學(xué)巧妙地結(jié)合起來,從簡單的項(xiàng)目開始,應(yīng)用Python解決高中和大學(xué)低年級的數(shù)學(xué)問題,比如幾何、概率、統(tǒng)計(jì)以及微積分等,為進(jìn)一步學(xué)習(xí)更復(fù)雜的數(shù)學(xué)內(nèi)容以及Python編程語言打下堅(jiān)實(shí)的基礎(chǔ)。
本書也可作為Python初學(xué)者的入門讀物,通過學(xué)習(xí)書中的示例程序和完成那些編程挑戰(zhàn),讀者可以提高自己的編程能力和技巧。
Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的吉多·范羅蘇姆于1990年代初設(shè)計(jì),作為一門叫做ABC語言的替代品。Python語法和動(dòng)態(tài)類型,以及解釋型語言的本質(zhì),使它成為多數(shù)平臺(tái)上寫腳本和快速開發(fā)應(yīng)用的編程語言。
python有兩種編程方式,交互式和文件式。
交互式:對每個(gè)輸入語句即時(shí)運(yùn)行結(jié)果------適合語法練習(xí)
文件式:批量執(zhí)行一組語句并運(yùn)行結(jié)果------編程的主要方式
實(shí)例1:圓面積的計(jì)算(根據(jù)半徑r計(jì)算圓面積)
上圖明顯是交互式運(yùn)行的結(jié)果,如果想編輯文件式運(yùn)行,則先編輯一個(gè)calcircle.py文件,將上述代碼寫進(jìn)去。
然后輸入代碼 python calcircle.py,命令界面即可輸出代碼結(jié)果。
下面我們試試?yán)L制多個(gè)同心圓的代碼:
1 import turtle 2 turtle.pensize(2) 3 turtle.circle(10) 4 turtle.circle(40) 5 turtle.circle(80) 6 turtle.circle(160) 7 turtle.done()
運(yùn)行結(jié)果,如下圖所示
下面我們稍微分析一下這段代碼
import turtle#導(dǎo)入海龜庫 turtle.pensize(2)#設(shè)置畫筆的大小 turtle.circle(10)#畫圓,半徑為正(負(fù)),表示圓心在畫筆的左邊(右邊)畫圓 turtle.circle(40) turtle.circle(80) turtle.circle(160) turtle.done()#必須是烏龜圖形程序中的最后一個(gè)語句
關(guān)于turtle庫的使用,之后還會(huì)提及,turtle庫是python的自帶庫,繪制圖像相對來說比較方便,容易理解
當(dāng)然上述的代碼也可以這樣寫
1 from turtle import * 2 pensize(2) 3 circle(10) 4 circle(40) 5 circle(80) 6 circle(160) 7 done()
大家很容易發(fā)現(xiàn)他們的不同,就是第一句的區(qū)別,關(guān)于import的用法也將在后續(xù)章節(jié)詳細(xì)講述。
下面我們來畫一個(gè)難一點(diǎn)的圖形
from turtle import * color('red','black')#前一個(gè)顏色是線條色,后一個(gè)是填充色 begin_fill()#從這里開始填充 for i in range(5):#畫五筆就可以結(jié)束 fd(200) rt(144)#向右旋轉(zhuǎn)144度 end_fill()#結(jié)束填充 done()
下面我們從一個(gè)簡單的小程序來分析python的語法體系
我們大家都知道,華氏溫度和攝氏溫度之間的轉(zhuǎn)換,我們可以用python編程實(shí)現(xiàn)
TempStr = input("請輸入帶有符號的溫度值: ")#input顯示的內(nèi)容出現(xiàn)在屏幕上,且返回一個(gè)str類型的字符串 if TempStr[-1] in ['F', 'f']:#如果最后一個(gè)字符是F C = (eval(TempStr[0:-1]) - 32)/1.8#eval將字符串轉(zhuǎn)換成數(shù)字 print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))#格式化輸出 elif TempStr[-1] in ['C', 'c']: F = 1.8*eval(TempStr[0:-1]) + 32 print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F)) else: print("輸入格式錯(cuò)誤")
縮進(jìn):縮進(jìn)表達(dá)程序的格式框架
1、嚴(yán)格明確:縮進(jìn)是語法的一部分,縮進(jìn)不正確程序運(yùn)行錯(cuò)誤
2、所屬關(guān)系:表達(dá)代碼間包含層次關(guān)系的唯一手段
3、長度一致:使用TAB鍵即可
python編程語言有一個(gè)重要的特點(diǎn)就是取消了{(lán) }而用縮進(jìn)的方式進(jìn)行代碼塊的分割,初學(xué)者可能不習(xí)慣,多寫幾次就習(xí)慣了這種寫法。
注釋:不被程序執(zhí)行的輔助性說明信息
單行注釋:
#這是單行注釋
多行注釋:
1 ''' 這是多行注釋 2 3 23333333333333 '''
變量:程序中用于保存和表示數(shù)據(jù)的占位符號
變量采用標(biāo)識(shí)符(名字)來表示,關(guān)聯(lián)標(biāo)識(shí)符的過程叫命名
TempStr是變量名字
可以使用等號(=)向變量賦值或修改值,=被稱為賦值符
TempStr="82F" #向變量TempStr賦值"82F"
命名規(guī)則:大小寫字母、數(shù)字、下劃線和漢字等字符
如:TempStr、Python_Great
注意事項(xiàng):大小寫敏感、首字符不能是數(shù)字、不與保留字相同
python與Python是不同的變量,123Python是不合法變量
保留字
被編程語言內(nèi)部定義并保留使用的標(biāo)識(shí)符
python語言有33個(gè)保留字(也叫關(guān)鍵字)
if,elif,else,in
保留字是編程語言的基本單詞,大小寫敏感
if是保留字,If是變量
保留字
數(shù)據(jù)類型
字符串、整數(shù)、浮點(diǎn)數(shù)、列表
10011101該如何解釋呢?
這是一個(gè)二進(jìn)制數(shù)字或十進(jìn)制數(shù)字
作為二進(jìn)制數(shù)字,10011101的值是十進(jìn)制157
這是一段文本或者用逗號分隔3個(gè)數(shù)字
作為一段文本,逗號是文本中的一部分,一共包含10個(gè)字符
整數(shù)類型10011101
字符串類型:"10,011,101"
列表類型:[10,011,101]
字符串:由0個(gè)或多個(gè)字符組成的有序字符序列
由一對雙引號或一對單引號表示
"helloworld"或'GOOD'
字符串是字符的有序序列,可以對其中字符進(jìn)行索引
如"你"是"你好啊"這個(gè)字符串的第0個(gè)字符
python的字符串序號,正向遞增,反向遞減
字符串的使用
使用[ ]獲取字符串中一個(gè)或多個(gè)字符
1 TempStr = input("請輸入帶有符號的溫度值: ") 2 if TempStr[-1] in ['F', 'f']:#TempStr[-1]指的是最后一個(gè)字符 3 C = (eval(TempStr[0:-1]) - 32)/1.8#TempStr[0:-1]指的是字符串從第一個(gè)到最后一個(gè)之前的所有字符串 4 print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C)) 5 elif TempStr[-1] in ['C', 'c']: 6 F = 1.8*eval(TempStr[0:-1]) + 32 7 print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F)) 8 else: 9 print("輸入格式錯(cuò)誤")
數(shù)字類型:整數(shù)和浮點(diǎn)數(shù)
整數(shù):數(shù)學(xué)中的整數(shù)
32或-89
浮點(diǎn)數(shù):數(shù)學(xué)中的實(shí)數(shù),帶有小數(shù)部分
1.8或者-1.8或者-1.0
列表類型:由0個(gè)或多個(gè)數(shù)據(jù)組成的有序序列
列表使用[ ]表示,采用逗號分隔各元素
[ 'F' , 'f' ]表示列表里含義兩個(gè)元素'F'和'f'
使用保留字in判斷一個(gè)元素是否在列表中
TempStr[-1] in ['C' , 'c']判斷前者是否與列表中的某個(gè)元素相同
賦值語句:由賦值符號構(gòu)成的一行代碼
賦值符號筆者之前提過,就是我們俗稱的等于號,但等于號在編程語言中通常表示賦值,不表示等于號的含義。
1、賦值語句用來給變量賦予新的數(shù)據(jù)值
C = (eval(TempStr[0:-1]) - 32)/1.8 #右側(cè)運(yùn)算結(jié)果值賦值給C
2、賦值語句右側(cè)的數(shù)據(jù)類型同時(shí)作用于變量
TempStr = input("請輸入帶有符號的溫度值: ") #input返回一個(gè)字符串,所以TempStr也是字符串
分支語句:由判斷條件決定程序運(yùn)行方向的語句
1 if TempStr[-1] in ['F', 'f']:
如果條件為True則執(zhí)行冒號后的語句
2、每個(gè)保留字所在行最后存在一個(gè)冒號:,是語法的一部分
冒號及后續(xù)縮進(jìn)用來表示后續(xù)語句與條件的所屬關(guān)系
函數(shù):根據(jù)輸入?yún)?shù)產(chǎn)生不同輸出的功能過程
類似于數(shù)學(xué)中的函數(shù),y=f(x)
print("輸入格式錯(cuò)誤") #打印出 輸入格式錯(cuò)誤
函數(shù)采用函數(shù)名(參數(shù))的方式使用
1 eval(TempStr[0:-1])#TempStr[0:-1]是參數(shù)
python的輸入輸出
input():從控制臺(tái)獲得用戶輸入的函數(shù)
input()函數(shù)的使用格式:
1 變量=input (提示信息字符串)
用戶輸入的信息以字符串類型保存在變量中
1 TempStr=input("請輸入") #TempStr保存用戶輸入的信息
輸出函數(shù)print()
以字符形式向控制臺(tái)輸出結(jié)果的函數(shù)
print()函數(shù)的基本使用格式
1 print(擬輸出字符串或字符串變量)
字符串類型的一對引號僅在程序內(nèi)部使用,輸出無引用
1 print("輸入格式錯(cuò)誤")#向控制臺(tái)輸出 輸入格式錯(cuò)誤
print函數(shù)的格式化:
1 print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))
{ }表示槽,后續(xù)變量填充到槽中
{:.2f}表示將變量C填充到這個(gè)位置時(shí)取小數(shù)點(diǎn)后2位
如果C的值是123.456789,則輸出結(jié)果為123.45C
評估函數(shù)eval():去掉參數(shù)最外側(cè)引號并執(zhí)行余下語句的函數(shù)
eval的基本使用格式
1 eval(字符串或字符串變量)
eval("1") 1
這個(gè)例子我做了好幾天:
1)官網(wǎng)C++的源碼,改寫成PyQt5版本的代碼,好多細(xì)節(jié)不會(huì)轉(zhuǎn)化
2)網(wǎng)上的PyQt的例子根本運(yùn)行不了
填了無數(shù)個(gè)坑,結(jié)合二者,終于能完成了一個(gè)關(guān)于繪圖的東西。這個(gè)過程也掌握了很多新的知識(shí)點(diǎn)
【知識(shí)點(diǎn)】
1、關(guān)于多個(gè)點(diǎn)的使用
poitns = [QPoint(10, 80), QPoint(20, 10), QPoint(80, 30), QPoint(90, 70)]
請看:
1 ? ? ?# 定義多個(gè)點(diǎn) 2 ? ? ?points = [QPoint(10, 80), QPoint(20, 10), QPoint(80, 30), QPoint(90, 70)] 3 ?4 ? ? ?# ===直接使用 points 會(huì)報(bào)錯(cuò)!========= 5 ? ? ?# ... 6 ? ? ?elif self.shape == self.Points: 7 ?? ? ? ? ? painter.drawPoints(points) 8 ?9 ? ? ?elif self.shape == self.Polyline:10 ?? ? ? ? ? painter.drawPolyline(points)11 12 ? ? ?elif self.shape == self.Polygon:13 ? ? ? ? ? ?painter.drawPolygon(points, 4)14 15 ? ? ?# ...16 17 ? ? ?# ===把 points 用 QPolygon()包裹起來才正確!=========18 ? ? ?# ...19 ? ? ?elif self.shape == self.Points:20 ?? ? ? ? ? painter.drawPoints(QPolygon(points))21 22 ? ? ?elif self.shape == self.Polyline:23 ?? ? ? ? ? painter.drawPolyline(QPolygon(points))24 25 ? ? ?elif self.shape == self.Polygon:26 ? ? ? ? ? ?painter.drawPolygon(QPolygon(points), 4)27 28 ? ? ?# ...
2、在QDialog窗體中顯示QWidget部件
【效果圖】
【資源】
【代碼】
import sysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *class StockDialog(QWidget): ? ?def __init__(self, parent=None):
super(StockDialog, self).__init__(parent)
self.setWindowTitle("利用QPainter繪制各種圖形")
mainSplitter = QSplitter(Qt.Horizontal)
mainSplitter.setOpaqueResize(True)
frame = QFrame(mainSplitter)
mainLayout = QGridLayout(frame) ? ? ? ?#mainLayout.setMargin(10)
mainLayout.setSpacing(6)
label1=QLabel("形狀:")
label2=QLabel("畫筆線寬:")
label3=QLabel("畫筆顏色:")
label4=QLabel("畫筆風(fēng)格:")
label5=QLabel("畫筆頂端:")
label6=QLabel("畫筆連接點(diǎn):")
label7=QLabel("畫刷風(fēng)格:")
label8=QLabel("畫刷顏色:")
self.shapeComboBox = QComboBox()
self.shapeComboBox.addItem("Line", "Line")
self.shapeComboBox.addItem("Rectangle", "Rectangle")
self.shapeComboBox.addItem('Rounded Rectangle','Rounded Rectangle')
self.shapeComboBox.addItem('Ellipse','Ellipse')
self.shapeComboBox.addItem('Pie','Pie')
self.shapeComboBox.addItem('Chord','Chord')
self.shapeComboBox.addItem('Path','Path')
self.shapeComboBox.addItem('Polygon','Polygon')
self.shapeComboBox.addItem('Polyline','Polyline')
self.shapeComboBox.addItem('Arc','Arc')
self.shapeComboBox.addItem('Points','Points')
self.shapeComboBox.addItem('Text','Text')
self.shapeComboBox.addItem('Pixmap','Pixmap')
self.widthSpinBox = QSpinBox()
self.widthSpinBox.setRange(0,20)
self.penColorFrame = QFrame()
self.penColorFrame.setAutoFillBackground(True)
self.penColorFrame.setPalette(QPalette(Qt.blue))
self.penColorPushButton = QPushButton("更改")
self.penStyleComboBox = QComboBox()
self.penStyleComboBox.addItem("Solid",Qt.SolidLine)
self.penStyleComboBox.addItem('Dash', ?Qt.DashLine)
self.penStyleComboBox.addItem('Dot', ?Qt.DotLine)
self.penStyleComboBox.addItem('Dash Dot', ?Qt.DashDotLine)
self.penStyleComboBox.addItem('Dash Dot Dot', ?Qt.DashDotDotLine)
self.penStyleComboBox.addItem('None', ?Qt.NoPen)
self.penCapComboBox = QComboBox()
self.penCapComboBox.addItem("Flat",Qt.FlatCap)
self.penCapComboBox.addItem('Square', Qt.SquareCap)
self.penCapComboBox.addItem('Round', Qt.RoundCap)
self.penJoinComboBox = QComboBox()
self.penJoinComboBox.addItem("Miter",Qt.MiterJoin)
self.penJoinComboBox.addItem('Bebel', Qt.BevelJoin)
self.penJoinComboBox.addItem('Round', Qt.RoundJoin)
self.brushStyleComboBox = QComboBox()
self.brushStyleComboBox.addItem("Linear Gradient",Qt.LinearGradientPattern)
self.brushStyleComboBox.addItem('Radial Gradient', Qt.RadialGradientPattern)
self.brushStyleComboBox.addItem('Conical Gradient', Qt.ConicalGradientPattern)
self.brushStyleComboBox.addItem('Texture', Qt.TexturePattern)
self.brushStyleComboBox.addItem('Solid', Qt.SolidPattern)
self.brushStyleComboBox.addItem('Horizontal', Qt.HorPattern)
self.brushStyleComboBox.addItem('Vertical', Qt.VerPattern)
self.brushStyleComboBox.addItem('Cross', Qt.CrossPattern)
self.brushStyleComboBox.addItem('Backward Diagonal', Qt.BDiagPattern)
self.brushStyleComboBox.addItem('Forward Diagonal', Qt.FDiagPattern)
self.brushStyleComboBox.addItem('Diagonal Cross', Qt.DiagCrossPattern)
self.brushStyleComboBox.addItem('Dense 1', Qt.Dense1Pattern)
self.brushStyleComboBox.addItem('Dense 2', Qt.Dense2Pattern)
self.brushStyleComboBox.addItem('Dense 3', Qt.Dense3Pattern)
self.brushStyleComboBox.addItem('Dense 4', Qt.Dense4Pattern)
self.brushStyleComboBox.addItem('Dense 5', Qt.Dense5Pattern)
self.brushStyleComboBox.addItem('Dense 6', Qt.Dense6Pattern)
self.brushStyleComboBox.addItem('Dense 7', Qt.Dense7Pattern)
self.brushStyleComboBox.addItem('None', Qt.NoBrush)
self.brushColorFrame = QFrame()
self.brushColorFrame.setAutoFillBackground(True)
self.brushColorFrame.setPalette(QPalette(Qt.green))
self.brushColorPushButton = QPushButton("更改")
labelCol=0
contentCol=1
#建立布局
mainLayout.addWidget(label1,1,labelCol)
mainLayout.addWidget(self.shapeComboBox,1,contentCol)
mainLayout.addWidget(label2,2,labelCol)
mainLayout.addWidget(self.widthSpinBox,2,contentCol)
mainLayout.addWidget(label3,4,labelCol)
mainLayout.addWidget(self.penColorFrame,4,contentCol)
mainLayout.addWidget(self.penColorPushButton,4,3)
mainLayout.addWidget(label4,6,labelCol)
mainLayout.addWidget(self.penStyleComboBox,6,contentCol)
mainLayout.addWidget(label5,8,labelCol)
mainLayout.addWidget(self.penCapComboBox,8,contentCol)
mainLayout.addWidget(label6,10,labelCol)
mainLayout.addWidget(self.penJoinComboBox,10,contentCol)
mainLayout.addWidget(label7,12,labelCol)
mainLayout.addWidget(self.brushStyleComboBox,12,contentCol)
mainLayout.addWidget(label8,14,labelCol)
mainLayout.addWidget(self.brushColorFrame,14,contentCol)
mainLayout.addWidget(self.brushColorPushButton,14,3)
mainSplitter1 = QSplitter(Qt.Horizontal)
mainSplitter1.setOpaqueResize(True)
stack1 = QStackedWidget()
stack1.setFrameStyle(QFrame.Panel|QFrame.Raised)
self.area = PaintArea()
stack1.addWidget(self.area)
frame1 = QFrame(mainSplitter1)
mainLayout1 = QVBoxLayout(frame1) ? ? ? ?#mainLayout1.setMargin(10)
mainLayout1.setSpacing(6)
mainLayout1.addWidget(stack1)
layout = QGridLayout(self)
layout.addWidget(mainSplitter1,0,0)
layout.addWidget(mainSplitter,0,1)
self.setLayout(layout)
#信號和槽函數(shù) ? ? ? ?self.shapeComboBox.activated.connect(self.slotShape)
self.widthSpinBox.valueChanged.connect(self.slotPenWidth)
self.penColorPushButton.clicked.connect(self.slotPenColor)
self.penStyleComboBox.activated.connect(self.slotPenStyle)
self.penCapComboBox.activated.connect(self.slotPenCap)
self.penJoinComboBox.activated.connect(self.slotPenJoin)
self.brushStyleComboBox.activated.connect(self.slotBrush)
self.brushColorPushButton.clicked.connect(self.slotBrushColor)
self.slotShape(self.shapeComboBox.currentIndex())
self.slotPenWidth(self.widthSpinBox.value())
self.slotBrush(self.brushStyleComboBox.currentIndex())
def slotShape(self,value):
shape = ?self.area.Shape[value]
self.area.setShape(shape)
def slotPenWidth(self,value):
color = self.penColorFrame.palette().color(QPalette.Window)
style = Qt.PenStyle(self.penStyleComboBox.itemData(self.penStyleComboBox.currentIndex(),Qt.UserRole))
cap = Qt.PenCapStyle(self.penCapComboBox.itemData(self.penCapComboBox.currentIndex(),Qt.UserRole))
join = Qt.PenJoinStyle(self.penJoinComboBox.itemData(self.penJoinComboBox.currentIndex(),Qt.UserRole))
self.area.setPen(QPen(color,value,style,cap,join))
def slotPenStyle(self,value):
self.slotPenWidth(value)
def slotPenCap(self,value):
self.slotPenWidth(value)
def slotPenJoin(self,value):
self.slotPenWidth(value)
def slotPenColor(self):
color = QColorDialog.getColor(Qt.blue)
self.penColorFrame.setPalette(QPalette(color))
self.area.setPen(QPen(color))
def slotBrushColor(self):
color = QColorDialog.getColor(Qt.blue)
self.brushColorFrame.setPalette(QPalette(color))
self.slotBrush(self.brushStyleComboBox.currentIndex())
def slotBrush(self,value):
color = self.brushColorFrame.palette().color(QPalette.Window)
style = Qt.BrushStyle(self.brushStyleComboBox.itemData(value,Qt.UserRole))
if(style == Qt.Lin
當(dāng)前標(biāo)題:python函數(shù)畫圓形,Python畫圓函數(shù)
本文來源:http://chinadenli.net/article0/hshhoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、靜態(tài)網(wǎng)站、虛擬主機(jī)、App開發(fā)、關(guān)鍵詞優(yōu)化、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)