自定義乙個屬於自己的視窗,初始化時自動設定好在螢幕**顯示,重寫退出事件的觸發器 closeevent(),並增加了設定圖示,簡化設定標題的函式名,其它類可以繼承它:
1#-*- coding: utf-8 -*-23
import
time
4import
sys5
from pyqt4 import
qtgui, qtcore67
8class
myqwidget(qtgui.qwidget):910
def__init__(self, title=none, icon=none):
11 qtgui.qwidget.__init__
(self)
12 self.setgeometry(300, 200, 600, 500)
13self.center()
14self.settitle(title)
15self.seticon(icon)
1617
def settitle(self, title=none):
18if title !=none:
19self.setwindowtitle(title)
2021
def seticon(self, icon=none):
22if icon !=none:
23self.setwindowicon(qtgui.qicon(icon))
2425
defresize(self, width, height):
26qtgui.qwidget.resize(self, width, height)
27self.center()
2829
defcenter(self):
30 screen =qtgui.qdesktopwidget().screengeometry()
31 size =self.geometry()
32 self.move((screen.width() - size.width()) / 2,
33 (screen.height() - size.height()) / 2)
3435
defcloseevent(self, event):
36 reply =qtgui.qmessagebox.question(
37 self, '
message
', '
are you sure to close?
', qtgui.qmessagebox.yes, qtgui.qmessagebox.no)
38if reply ==qtgui.qmessagebox.yes:
39event.accept()
40else:41
event.ignore()
4243
44class
widget2(myqwidget):
45pass
4647
48class
mainwindow(qtgui.qmainwindow, myqwidget):
4950
def__init__(self, parent=none):
51 qtgui.qmainwindow.__init__
(self)
52 self.resize(300, 200)
53 self.settitle('
statusbar')
54 self.statusbar().showmessage('
ready')
5556
5859 w1 = widget2(icon='
image\\rk.gif
', title='
myqwidget')
60w1.show()
6162 w2 =widget2()
63 w2.settitle('
hehe')
64 w2.seticon('
image\\fire.gif')
65 w2.resize(400, 300)
66w2.show()
6768 w3 =mainwindow()
69w3.show()
70view code
執行後截圖如下:(均處於整個螢幕的**)
QT學習筆記(二)自定義視窗
主函式 main.cpp include include mywidget.h include int main int argc,char argv 標頭檔案 mywidget.h ifndef mywidget h define mywidget h include class mywidget...
PyQt自定義控制項之實現全透明視窗
一般我們設計的普通視窗是這樣子的 class mywidget qwidget def init self super mywidget self init self resize 320 240 視窗的大小 self setwindowtitle test 視窗標題 self setobjectn...
PyQt5 自定義對話方塊呼叫
目錄 1.概況 2.模態對話方塊 2.1 模態對話方塊滿足的條件 2.2 模態對話方塊的呼叫 3.非模態對話方塊 3.1 對話方塊設定條件 3.2 對話方塊呼叫 desc 自定義命令執行 from pyqt5.qtwidgets import qdialog from customcommand i...