**:
# -
*- coding: utf-8-
*-import sys
from pyqt5.qtcore import pyqtsignal
class firstwindow
(qmainwindow)
: sig =
pyqtsignal()
def __init__
(self, parent=none)
:super
(firstwindow, self)
.__init__
(parent)
self.tick_win = none
self.btn =
qpushbutton
(self)
self.hide_btn =
qpushbutton
(self)
self.
init_ui()
def init_ui
(self)
: self.
resize
(200
,200
) self.
setwindowtitle
('firstwindow'
) self.btn.
settext
('emit'
) self.btn.
setgeometry(30
,40,60
,40) self.btn.clicked.
connect
(self.call_back_btn)
self.sig.
connect
(self.call_back_sig)
self.hide_btn.
settext
('hide'
) self.hide_btn.
setgeometry(30
,120,60
,40) self.hide_btn.clicked.
connect
(self.call_back_hide)
def call_back_btn
(self)
: self.sig.
emit()
def call_back_sig
(self)
:if self.tick_win:
print
("++++++++++++++++++++++ call_back_sig first +++++++++++++++++++++"
) self.tick_win.
show()
else
: self.tick_win =
secondwindow()
self.tick_win.
show()
#self.tick_win.move(200, 200)
print
("--------------------- call_back_sig second ----------------"
) def call_back_hide
(self)
:if self.tick_win:
self.tick_win.
hide()
class secondwindow
(qmainwindow)
: def __init__
(self, parent=none)
:super
(secondwindow, self)
.__init__
(parent)
self.
resize
(200
,100
) self.
setwindowtitle
('secondwindow'
)if __name__ ==
'__main__'
:(sys.ar**)
w =firstwindow()
![在這裡插入描述]
)
效果:
那個拖動時我手動 拖動的
需要找到乙個方法 把 彈出的 視窗 自動放到 剛才的視窗的旁邊 ,而不是覆蓋
PyQt5建立乙個新視窗
1.使用qt design設計乙個空白視窗 注意 我是使用mainwindow建立的視窗 2.使用pyuic將.ui檔案轉換成.py檔案 右鍵.ui檔案 external tools pyuic 3.新建乙個 py檔案,大部分操作函式在 py檔案中,防止重新設計視窗時造成大量 丟失 4.py檔案 c...
第乙個PyQt5視窗
右鍵 external tools qtdesigner 選擇main window建立乙個窗體,從右邊拖動元件到窗體上,儲存路徑到自己的工程目錄下。右鍵.ui檔案 external tools pyuic,自動生成。py檔案 執行這個.py檔案是不會顯示出視窗的 第一步 注釋掉三行 第二步 在這個...
PyQt5 點選主視窗彈出另乙個視窗
1.先使用qt designer設計兩個視窗,乙個是主視窗,乙個是子視窗 其中主視窗是新建 main window,子視窗是dialog窗體。兩個視窗不能是同一型別,否則會崩潰。並儲存為eyetracking main.ui和eyetracking process.ui 因為我在做眼動追蹤,因此窗體...