#-*- coding:utf-8 -*-
#######pyqt繪製點,線,矩形,圓
frompyqt4.qtcoreimport*
frompyqt4.qtguiimport*
importsys
fromrandomimport*
classmywindow(qdialog,qwidget):
def__init__(self,parent = none):
super(mywindow,self).__init__(parent)
self.resize(800,800)
self.mainlayout = qgridlayout(self)
defpaintevent(self, e):########畫圖事件,每次update都會進入,想畫啥根據注釋進行,雙擊重畫
qp = qpainter()
qp.begin(self)
#self.drawlines(qp)######畫線
#self.drawpoints(qp) ###畫點
#self.drawrect(qp) ##畫矩形
self.drawellipse(qp) ##畫圓,橢圓
qp.end()
defmousedoubleclickevent(self, *args, **kwargs):
self.update()
defdrawpoints(self, qp):
qp.setpen(qpen(qt.red,10)) ######可以試下畫刷 setbrush,10指定點的大小
foriinrange(10):
qp.drawpoint(randint(1, self.width()), randint(1, self.height()) )
defdrawlines(self,qp):#######畫線
loc_list =
foriinxrange(4):
color = choice([qt.black,qt.white,qt.darkgray,qt.red,qt.green,qt.blue,qt.cyan,qt.magenta,qt.yellow,qt.darkred,qt.darkgreen,qt.darkblue,qt.darkcyan,qt.darkmagenta,qt.darkyellow])
qp.setpen(qpen(color, randint(0,10), randint(1,6)))####前乙個random是線條粗線,後乙個random是線條型別
foriinxrange(4):
qp.drawline(loc_list[i][0],loc_list[i][1],loc_list[(i+1)%4][0],loc_list[(i+1)%4][1])
defdrawrect(self,qp):
qp.setpen(qpen(qt.red,2,qt.solidline))
qp.drawrect(200,200,400,400)
defdrawellipse(self,qp):########橢圓,圓
qp.setpen(qpen(qt.blue,2,qt.solidline))
qp.drawellipse(100,200,300,300)
window=mywindow()
window.show()
pyqt4學習筆記
訊號與槽機制作為qt最重要的特性,提供了任意兩個qt物件之間的通訊機制。其中,訊號會在某個特定情況或動作下被觸發,槽是用於接收並處理訊號的函式。例如,要將乙個視窗中的變化情況通知給另乙個視窗,則乙個視窗傳送訊號,另乙個視窗的槽接收此訊號並進行相應的操作,即可實現兩個視窗之間的通訊。這比傳統的圖形化程...
PyQt4學習資料彙總
乙個月前研究了下pyqt4,感覺比較不錯。相比wxpython,介面美觀了很多,並且將介面設計與 邏輯很好的分離了開來。關於pyqt4的資料也不少,這裡我將我找到的資料彙總一下,以防自己以後忘得一乾二淨。1.pyqt4資料鏈結 2.寫 時,最好的幫助文件 static docs pyqt4 html...
PyQt4學習資料彙總
乙個月前研究了下pyqt4,感覺比較不錯。相比wxpython,介面美觀了很多,並且將介面設計與 邏輯很好的分離了開來。關於pyqt4的資料也不少,這裡我將我找到的資料彙總一下,以防自己以後忘得一乾二淨。1.pyqt4資料鏈結 2.寫 時,最好的幫助文件 static docs pyqt4 html...