Form1:

from PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *from Form1 import Ui_Formimport sys,qdarkstyleimport Form2_Mainclass Form1_Main( QDialog,Ui_Form): def __init__(self): super(Form1_Main,self).__init__() self.setupUi(self) #self.setAttribute(Qt.WA_TranslucentBackground) # 设置窗体无边框 self.setWindowFlags(Qt.FramelessWindowHint) self.pushButton.clicked.connect(self.showFrom2) self.pushButton_2.clicked.connect(self.close) def showFrom2(self): F2_window = Form2_Main.Form2_Main() F2_window.Form2_signal.connect(self.showFrom2msg) F2_window.show() F2_window.exec_() def showFrom2msg(self,strs): print(strs) def mousePressEvent(self, QMouseEvent): if QMouseEvent.button() == Qt.LeftButton: self.flag = True # 获取鼠标相对窗口的位置 self.m_Position = QMouseEvent.globalPos() - self.pos() QMouseEvent.accept() # 更改鼠标图标 self.setCursor(QCursor(Qt.OpenHandCursor)) def mouseMoveEvent(self, QMouseEvent): if Qt.LeftButton and self.flag: # 更改窗口位置 self.move(QMouseEvent.globalPos()-self.m_Position) QMouseEvent.accept() def mouseReleaseEvent(self, QMouseEvent): self.flag = False self.setCursor(QCursor(Qt.ArrowCursor))if __name__ == '__main__': app = QApplication(sys.argv) window = Form1_Main() app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) window.show() sys.exit(app.exec_())


Form2:

from PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *from Form2 import Ui_Formimport sys,requests,base64,qdarkstyleclass Form2_Main(QDialog,Ui_Form): Form2_signal = pyqtSignal(str) def __init__(self,parent=None): super(Form2_Main,self).__init__(parent) self.setupUi(self) self.setWindowFlags(Qt.FramelessWindowHint) self.setWindowModality(Qt.ApplicationModal) self.setModal(True) self.pushButton.clicked.connect(self.get_pic) self.pushButton_2.clicked.connect(self.close) def backStr(self): self.Form2_signal.emit('Form2 message')#验证成功返回数据 def get_pic(self): url = 'https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand' try: r = requests.get(url) print('content: ',r.content) dic = r.json() print('json:',dic) png = base64.b64decode(dic['image']) print('png: ',png) photo = QPixmap(100,100) photo.loadFromData(png) self.label.setPixmap(photo) self.Form2_signal.emit('Form2 message') # 验证成功返回数据 except Exception as e: print('Exception',e) def mousePressEvent(self, event): if(event.button()==Qt.LeftButton): self.flag = True self.m_Position = event.globalPos() - self.pos() event.accept() self.setCursor(QCursor(Qt.OpenHandCursor)) def mouseMoveEvent(self, event): if Qt.LeftButton and self.flag: self.move(event.globalPos() - self.m_Position) event.accept() def mouseReleaseEvent(self, event): self.flag = False self.setCursor(QCursor(Qt.ArrowCursor))if __name__ == '__main__': app = QApplication(sys.argv) window = Form2_Main() app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) window.show() sys.exit(app.exec_())

运行效果: