在PyQt4中调用第二个窗口后,第二个窗口中的按钮不起作用

时间:2018-12-05 17:05:49

标签: python python-2.7 pyqt pyqt4

因此,基本上我试图使用具有多个窗口的PyQt4设计程序,每次我通过单击按钮调用一个窗口时,新窗口中的按钮均不起作用。有帮助吗?

from PyQt4 import QtCore, QtGui
import cv2
import pyzbar.pyzbar as pyzbar
import numpy as np
import time


try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_UberMap(object):
    def setupUi(self, UberMap):
        UberMap.setObjectName(_fromUtf8("UberMap"))
        UberMap.resize(446, 825)
        UberMap.setMouseTracking(False)
        UberMap.setAutoFillBackground(False)
        UberMap.setStyleSheet(_fromUtf8("background-image: url(Uber.png);"))
        UberMap.setAnimated(False)
        self.centralwidget = QtGui.QWidget(UberMap)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.pushButton = QtGui.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(20, 723, 411, 41))
        self.pushButton.setAutoFillBackground(False)
        self.pushButton.setStyleSheet(_fromUtf8("background-image: url(button.png);"))
        self.pushButton.setText(_fromUtf8(""))
        self.pushButton.setObjectName(_fromUtf8("pushButton"))
        self.pushButton.clicked.connect(self.close_application)
        self.pushButton_2 = QtGui.QPushButton(self.centralwidget)
        self.pushButton_2.setEnabled(True)
        self.pushButton_2.setGeometry(QtCore.QRect(19, 675, 206, 49))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Times New Roman"))
        font.setPointSize(10)
        font.setItalic(True)
        self.pushButton_2.setFont(font)
        self.pushButton_2.setMouseTracking(True)
        self.pushButton_2.setAutoFillBackground(False)
        self.pushButton_2.setStyleSheet(_fromUtf8("background-image: url(Qr.png);"))
        self.pushButton_2.setText(_fromUtf8(""))
        self.pushButton_2.setAutoDefault(False)
        self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
        self.pushButton_2.clicked.connect(self.openQRreaderWindow)
        self.pushButton_3 = QtGui.QPushButton(self.centralwidget)
        self.pushButton_3.setGeometry(QtCore.QRect(225, 675, 206, 49))
        self.pushButton_3.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        self.pushButton_3.setStyleSheet(_fromUtf8("background-image: url(Uberlogo.png);"))
        self.pushButton_3.setText(_fromUtf8(""))
        self.pushButton_3.setObjectName(_fromUtf8("pushButton_3"))
        UberMap.setCentralWidget(self.centralwidget)

        self.retranslateUi(UberMap)
        QtCore.QMetaObject.connectSlotsByName(UberMap)

    def retranslateUi(self, UberMap):
        uber.setWindowTitle(_translate("Uber", "Uber", None))
        uber.setWindowIcon(QtGui.QIcon('KLM.png'))
        self.pushButton_2.setToolTip(_translate("UberMap", "<html><head/><body><p>Click here to find your way in Schiphol to your gate</p></body></html>", None))
        self.pushButton_3.setToolTip(_translate("UberMap", "<html><head/><body><p>Click here to find a transportation</p></body></html>", None))


    def close_application(self):
        sys.exit()

    def openQRreaderWindow(self):
        uber.hide()
        QRreader.show()


class Ui_QRreader(object):

    def setupUi1(self, QRreader):
        self.startCapture()
        self.image = None
        QRreader.setObjectName(_fromUtf8("QRreader"))
        QRreader.resize(446, 825)
        QRreader.setAutoFillBackground(False)
        QRreader.setStyleSheet(_fromUtf8("background-image: url(Qrreader.png);"))
        self.centralwidget = QtGui.QWidget(QRreader)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.pushButton5 = QtGui.QPushButton(self.centralwidget)
        self.pushButton5.setGeometry(QtCore.QRect(20, 723, 411, 41))
        self.pushButton5.setAutoFillBackground(False)
        self.pushButton5.setStyleSheet(_fromUtf8("background-image: url(button.png);"))
        self.pushButton5.setText(_fromUtf8(""))
        self.pushButton5.setObjectName(_fromUtf8("pushButton_5"))
        self.pushButton5.clicked.connect(self.close_application)
        self.pushButton_6 = QtGui.QPushButton(self.centralwidget)
        self.pushButton_6.setEnabled(True)
        self.pushButton_6.setGeometry(QtCore.QRect(19, 675, 206, 49))
        self.pushButton_6.clicked.connect(self.startCapture)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Times New Roman"))
        font.setPointSize(10)
        font.setItalic(True)
        self.pushButton_6.setFont(font)
        self.pushButton_6.setMouseTracking(True)
        self.pushButton_6.setAutoFillBackground(False)
        self.pushButton_6.setStyleSheet(_fromUtf8("background-image: url(Qr.png);"))
        self.pushButton_6.setText(_fromUtf8(""))
        self.pushButton_6.setAutoDefault(False)
        self.pushButton_6.setObjectName(_fromUtf8("pushButton_6"))
        self.pushButton_7 = QtGui.QPushButton(self.centralwidget)
        self.pushButton_7.setGeometry(QtCore.QRect(225, 675, 206, 49))
        self.pushButton_7.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        self.pushButton_7.setStyleSheet(_fromUtf8("background-image: url(Uberlogo.png);"))
        self.pushButton_7.setText(_fromUtf8(""))
        self.pushButton_7.setObjectName(_fromUtf8("pushButton_7"))
        self.pushButton_7.clicked.connect(self.openUberWindow)
        self.label = QtGui.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(18, 182, 413, 491))
        self.label.setStyleSheet(_fromUtf8("background-image: url(cam.png);"))
        self.label.setObjectName(_fromUtf8("label"))
        QRreader.setCentralWidget(self.centralwidget)

        self.retranslateUi(QRreader)
        QtCore.QMetaObject.connectSlotsByName(QRreader)

    def close_application(self):
        sys.exit()
    def startCapture(self):
        self.capture = cv2.VideoCapture(0)
        self.capture.set(cv2.CAP_PROP_FRAME_HEIGHT,491)
        self.capture.set(cv2.CAP_PROP_FRAME_WIDTH, 413)
        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.update_frame)
        self.timer.start(5)


    def update_frame(self):
        ret, self.image = self.capture.read()
        self.image = cv2.flip(self.image,1)
        self.displayImage(self.image,1)

    def displayImage(self,img,window =1):
        qformat= QtGui.QImage.Format_Indexed8
        if (len(img.shape)==3):
            qformat = QtGui.QImage.Format_RGB888
        outImage = QtGui.QImage(img,img.shape[1],img.shape[0],img.strides[0],qformat)
        outImage = outImage.rgbSwapped()
        if window ==1:
            self.label.setPixmap(QtGui.QPixmap.fromImage(outImage))
            self.label.setScaledContents(True)
        decodedObjects = self.decode(img)
        self.display(img, decodedObjects)
    def decode(self, frame):
        # Find barcodes and QR codes
        decodedObjects = pyzbar.decode(frame)

        # Print results
        for obj in decodedObjects:
            if "door" in obj.data:
                QRreader.hide()
                uber.hide()
                self.openMap()


        return decodedObjects

    # Display barcode and QR code location
    def display(self, frame, decodedObjects):
        # Loop over all decoded objects
        for decodedObject in decodedObjects:
            points = decodedObject.polygon

            # If the points do not form a quad, find convex hull
            if len(points) > 4:
                hull = cv2.convexHull(np.array([point for point in points], dtype=np.float32))
                hull = list(map(tuple, np.squeeze(hull)))
            else:
                hull = points

            # Number of points in the convex hull
            n = len(hull)

            # Draw the convext hull
            for j in range(0, n):
                cv2.line(frame, hull[j], hull[(j + 1) % n], (255, 0, 0), 3)
    def openUberWindow(self):
        QRreader.hide()
        uber.show()

    def openMap(self):
        time.sleep(2)
        QRreader.show()
        self.map4 = QtGui.QMainWindow()
        ui1 = Ui_map4()
        ui1.setupUi(self.map4)
        self.map4.show()
        QtCore.QTimer.singleShot(40000, self.map4.close)
        self.map3 = QtGui.QMainWindow()
        ui1 = Ui_map3()
        ui1.setupUi(self.map3)
        self.map3.show()
        QtCore.QTimer.singleShot(30000, self.map3.close)
        self.map2 = QtGui.QMainWindow()
        ui1 = Ui_map2()
        ui1.setupUi(self.map2)
        self.map2.show()
        QtCore.QTimer.singleShot(20000, self.map2.close)
        self.map = QtGui.QMainWindow()
        ui1 = Ui_map()
        ui1.setupUi(self.map)
        self.map.show()
        QtCore.QTimer.singleShot(10000, self.map.close)

    def retranslateUi(self, QRreader):
        QRreader.setWindowTitle(_translate("QRreader", "QRreader", None))
        QRreader.setWindowIcon(QtGui.QIcon('KLM.png'))
        self.pushButton_6.setToolTip(_translate("QRreader", "<html><head/><body><p>Click here to find your way in Schiphol to your gate</p></body></html>", None))
        self.pushButton_7.setToolTip(_translate("QRreader", "<html><head/><body><p>Click here to find a transportation</p></body></html>", None))

class Ui_good(object):
    def setupUi(self, good):
        good.setObjectName(_fromUtf8("good"))
        good.resize(446, 825)
        good.setStyleSheet(_fromUtf8("background-image: url(good.png);"))
        self.centralwidget = QtGui.QWidget(good)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        good.setCentralWidget(self.centralwidget)

        self.retranslateUi(good)
        QtCore.QMetaObject.connectSlotsByName(good)

    def retranslateUi(self, good):
        good.setWindowTitle(_translate("Welcome", "Welcome", None))
        good.setWindowIcon(QtGui.QIcon('KLM.png'))


class Ui_map(object):
    def setupUi(self, map):
        map.setObjectName(_fromUtf8("map"))
        map.resize(446, 825)
        map.setStyleSheet(_fromUtf8("background-image: url(1.png);"))
        self.centralwidget = QtGui.QWidget(map)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        map.setCentralWidget(self.centralwidget)

        self.retranslateUi(map)
        QtCore.QMetaObject.connectSlotsByName(map)

    def retranslateUi(self, map):
        map.setWindowTitle(_translate("map", "MainWindow", None))

class Ui_map2(object):
    def setupUi(self, map2):
        map2.setObjectName(_fromUtf8("map"))
        map2.resize(446, 825)
        map2.setStyleSheet(_fromUtf8("background-image: url(2.png);"))
        self.centralwidget = QtGui.QWidget(map2)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        map2.setCentralWidget(self.centralwidget)

        self.retranslateUi(map2)
        QtCore.QMetaObject.connectSlotsByName(map2)

    def retranslateUi(self, map2):
        map2.setWindowTitle(_translate("map", "MainWindow", None))

class Ui_map3(object):
    def setupUi(self, map3):
        map3.setObjectName(_fromUtf8("map"))
        map3.resize(446, 825)
        map3.setStyleSheet(_fromUtf8("background-image: url(3.png);"))
        self.centralwidget = QtGui.QWidget(map3)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        map3.setCentralWidget(self.centralwidget)

        self.retranslateUi(map3)
        QtCore.QMetaObject.connectSlotsByName(map3)

    def retranslateUi(self, map3):
        map3.setWindowTitle(_translate("map", "MainWindow", None))

class Ui_map4(object):
    def setupUi(self, map4):
        map4.setObjectName(_fromUtf8("map"))
        map4.resize(446, 825)
        map4.setStyleSheet(_fromUtf8("background-image: url(4.png);"))
        self.centralwidget = QtGui.QWidget(map4)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        map4.setCentralWidget(self.centralwidget)

        self.retranslateUi(map4)
        QtCore.QMetaObject.connectSlotsByName(map4)

    def retranslateUi(self, map):
        map.setWindowTitle(_translate("map", "MainWindow", None))



if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    uber = QtGui.QMainWindow()
    ui = Ui_UberMap()
    ui.setupUi(uber)
    uber.show()
    #uber.hide()
    QRreader = QtGui.QMainWindow()
    ui1 = Ui_QRreader()
    ui1.setupUi1(QRreader)
    QRreader.show()
    QRreader.hide()
    good = QtGui.QMainWindow()
    ui = Ui_good()
    ui.setupUi(good)
    good.show()
    QtCore.QTimer.singleShot(3000, good.close)
    sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:0)

首先,PyQt建议不要修改pyuic生成的.py文件,有关更多信息,请阅读this。您需要做的是创建一个继承适当窗口小部件的类,并使用Qt Designer提供的接口。

另一方面,请勿使用sleep,因为它会阻塞GUI。

最后但并非最不重要的一点是,您必须使用信号将更改通知给其他小部件,而不是访问其他类的对象,以避免类的耦合。

考虑到上述情况,我们获得了以下信息:

from PyQt4 import QtCore, QtGui
import cv2
import pyzbar.pyzbar as pyzbar
import numpy as np

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_UberMap(object):
    def setupUi(self, UberMap):
        UberMap.setObjectName(_fromUtf8("UberMap"))
        UberMap.resize(446, 825)
        UberMap.setMouseTracking(False)
        UberMap.setAutoFillBackground(False)
        UberMap.setStyleSheet(_fromUtf8("background-image: url(Uber.png);"))
        UberMap.setAnimated(False)
        self.centralwidget = QtGui.QWidget(UberMap)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.pushButton = QtGui.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(20, 723, 411, 41))
        self.pushButton.setAutoFillBackground(False)
        self.pushButton.setStyleSheet(_fromUtf8("background-image: url(button.png);"))
        self.pushButton.setText(_fromUtf8(""))
        self.pushButton.setObjectName(_fromUtf8("pushButton"))
        self.pushButton_2 = QtGui.QPushButton(self.centralwidget)
        self.pushButton_2.setEnabled(True)
        self.pushButton_2.setGeometry(QtCore.QRect(19, 675, 206, 49))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Times New Roman"))
        font.setPointSize(10)
        font.setItalic(True)
        self.pushButton_2.setFont(font)
        self.pushButton_2.setMouseTracking(True)
        self.pushButton_2.setAutoFillBackground(False)
        self.pushButton_2.setStyleSheet(_fromUtf8("background-image: url(Qr.png);"))
        self.pushButton_2.setText(_fromUtf8(""))
        self.pushButton_2.setAutoDefault(False)
        self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
        self.pushButton_3 = QtGui.QPushButton(self.centralwidget)
        self.pushButton_3.setGeometry(QtCore.QRect(225, 675, 206, 49))
        self.pushButton_3.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        self.pushButton_3.setStyleSheet(_fromUtf8("background-image: url(Uberlogo.png);"))
        self.pushButton_3.setText(_fromUtf8(""))
        self.pushButton_3.setObjectName(_fromUtf8("pushButton_3"))
        UberMap.setCentralWidget(self.centralwidget)
        self.retranslateUi(UberMap)
        QtCore.QMetaObject.connectSlotsByName(UberMap)

    def retranslateUi(self, UberMap):
        UberMap.setWindowTitle(_translate("Uber", "Uber", None))
        UberMap.setWindowIcon(QtGui.QIcon('KLM.png'))
        self.pushButton_2.setToolTip(_translate("UberMap", "<html><head/><body><p>Click here to find your way in Schiphol to your gate</p></body></html>", None))
        self.pushButton_3.setToolTip(_translate("UberMap", "<html><head/><body><p>Click here to find a transportation</p></body></html>", None))


class UberMap(QtGui.QMainWindow, Ui_UberMap):
    openQRreaderSignal = QtCore.pyqtSignal()

    def __init__(self, parent=None):
        super(UberMap, self).__init__(parent)
        self.setupUi(self)
        self.pushButton_2.clicked.connect(self.openQRreaderSignal)
        self.openQRreaderSignal.connect(self.hide)
        self.pushButton.clicked.connect(self.close_application)

    def close_application(self):
        sys.exit()


class Ui_QRreader(object):
    def setupUi(self, QRreader):
        QRreader.setObjectName(_fromUtf8("QRreader"))
        QRreader.resize(446, 825)
        QRreader.setAutoFillBackground(False)
        QRreader.setStyleSheet(_fromUtf8("background-image: url(Qrreader.png);"))
        self.centralwidget = QtGui.QWidget(QRreader)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.pushButton5 = QtGui.QPushButton(self.centralwidget)
        self.pushButton5.setGeometry(QtCore.QRect(20, 723, 411, 41))
        self.pushButton5.setAutoFillBackground(False)
        self.pushButton5.setStyleSheet(_fromUtf8("background-image: url(button.png);"))
        self.pushButton5.setText(_fromUtf8(""))
        self.pushButton5.setObjectName(_fromUtf8("pushButton_5"))
        self.pushButton_6 = QtGui.QPushButton(self.centralwidget)
        self.pushButton_6.setEnabled(True)
        self.pushButton_6.setGeometry(QtCore.QRect(19, 675, 206, 49))
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Times New Roman"))
        font.setPointSize(10)
        font.setItalic(True)
        self.pushButton_6.setFont(font)
        self.pushButton_6.setMouseTracking(True)
        self.pushButton_6.setAutoFillBackground(False)
        self.pushButton_6.setStyleSheet(_fromUtf8("background-image: url(Qr.png);"))
        self.pushButton_6.setText(_fromUtf8(""))
        self.pushButton_6.setAutoDefault(False)
        self.pushButton_6.setObjectName(_fromUtf8("pushButton_6"))
        self.pushButton_7 = QtGui.QPushButton(self.centralwidget)
        self.pushButton_7.setGeometry(QtCore.QRect(225, 675, 206, 49))
        self.pushButton_7.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        self.pushButton_7.setStyleSheet(_fromUtf8("background-image: url(Uberlogo.png);"))
        self.pushButton_7.setText(_fromUtf8(""))
        self.pushButton_7.setObjectName(_fromUtf8("pushButton_7"))
        self.label = QtGui.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(18, 182, 413, 491))
        self.label.setStyleSheet(_fromUtf8("background-image: url(cam.png);"))
        self.label.setObjectName(_fromUtf8("label"))
        QRreader.setCentralWidget(self.centralwidget)
        self.retranslateUi(QRreader)
        QtCore.QMetaObject.connectSlotsByName(QRreader)

    def retranslateUi(self, QRreader):
        QRreader.setWindowTitle(_translate("QRreader", "QRreader", None))
        QRreader.setWindowIcon(QtGui.QIcon('KLM.png'))
        self.pushButton_6.setToolTip(_translate("QRreader", "<html><head/><body><p>Click here to find your way in Schiphol to your gate</p></body></html>", None))
        self.pushButton_7.setToolTip(_translate("QRreader", "<html><head/><body><p>Click here to find a transportation</p></body></html>", None))


class QRreader(QtGui.QMainWindow, Ui_QRreader):
    openUberSignal = QtCore.pyqtSignal()
    hideUberSignal = QtCore.pyqtSignal()

    def __init__(self, parent=None):
        super(QRreader, self).__init__(parent)
        self.setupUi(self)
        self.pushButton5.clicked.connect(self.close_application)
        self.pushButton_7.clicked.connect(self.openUberSignal)
        self.pushButton_6.clicked.connect(self.startCapture)
        self.openUberSignal.connect(self.hide)
        self.timer = QtCore.QTimer(self)
        self.timer.timeout.connect(self.update_frame)
        # self.startCapture()

    def close_application(self):
        sys.exit()

    @QtCore.pyqtSlot()
    def startCapture(self):
        self.capture = cv2.VideoCapture(0)
        # self.capture.set(cv2.CAP_PROP_FRAME_HEIGHT,491)
        # self.capture.set(cv2.CAP_PROP_FRAME_WIDTH, 413)
        self.timer.start(5)

    @QtCore.pyqtSlot()
    def update_frame(self):
        ret, image = self.capture.read()
        image = cv2.flip(image, 1)
        if ret:
            self.displayImage(image)

    def displayImage(self, img, window =True):
        qformat= QtGui.QImage.Format_Indexed8
        if len(img.shape)==3:

            qformat = QtGui.QImage.Format_RGB888

        outImage = QtGui.QImage(img, img.shape[1],img.shape[0],img.strides[0],qformat)
        outImage = outImage.rgbSwapped()
        if window:
            self.label.setPixmap(QtGui.QPixmap.fromImage(outImage))
            self.label.setScaledContents(True)
        decodedObjects = self.decode(img)
        self.display(img, decodedObjects)

    def decode(self, frame):
        # Find barcodes and QR codes
        decodedObjects = pyzbar.decode(frame)

        # Print results
        for obj in decodedObjects:
            if "door" in obj.data:
                self.hideUberSignal.emit()
                self.openMap()
        return decodedObjects

    # Display barcode and QR code location
    def display(self, frame, decodedObjects):
        # Loop over all decoded objects
        for decodedObject in decodedObjects:
            points = decodedObject.polygon

            # If the points do not form a quad, find convex hull
            if len(points) > 4:
                hull = cv2.convexHull(np.array([point for point in points], dtype=np.float32))
                hull = list(map(tuple, np.squeeze(hull)))
            else:
                hull = points
            # Number of points in the convex hull
            n = len(hull)
            # Draw the convext hull
            for j in range(0, n):
                cv2.line(frame, hull[j], hull[(j + 1) % n], (255, 0, 0), 3)

    def openMap(self):
        loop = QtCore.QEventLoop()
        QtCore.QTimer.singleShot(2000, loop.quit)
        loop.exec_()
        self.show()
        self.map4 = Map4()
        self.map4.show()
        QtCore.QTimer.singleShot(40000, self.map4.close)
        self.map3 = Map3()
        self.map3.show()
        QtCore.QTimer.singleShot(30000, self.map3.close)
        self.map2 = Map2()
        self.map2.show()
        QtCore.QTimer.singleShot(20000, self.map2.close)
        self.map = Map()
        self.map.show()
        QtCore.QTimer.singleShot(10000, self.map.close)

class Ui_good(object):
    def setupUi(self, good):
        good.setObjectName(_fromUtf8("good"))
        good.resize(446, 825)
        good.setStyleSheet(_fromUtf8("background-image: url(good.png);"))
        self.centralwidget = QtGui.QWidget(good)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        good.setCentralWidget(self.centralwidget)
        self.retranslateUi(good)
        QtCore.QMetaObject.connectSlotsByName(good)

    def retranslateUi(self, good):
        good.setWindowTitle(_translate("Welcome", "Welcome", None))
        good.setWindowIcon(QtGui.QIcon('KLM.png'))

class Good(QtGui.QMainWindow, Ui_good):
    def __init__(self, parent=None):
        super(Good, self).__init__(parent)
        self.setupUi(self)

class Ui_map(object):
    def setupUi(self, map):
        map.setObjectName(_fromUtf8("map"))
        map.resize(446, 825)
        map.setStyleSheet(_fromUtf8("background-image: url(1.png);"))
        self.centralwidget = QtGui.QWidget(map)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        map.setCentralWidget(self.centralwidget)
        self.retranslateUi(map)
        QtCore.QMetaObject.connectSlotsByName(map)

    def retranslateUi(self, map):
        map.setWindowTitle(_translate("map", "MainWindow", None))


class Map(QtGui.QMainWindow, Ui_map):
    def __init__(self, parent=None):
        super(Map, self).__init__(parent)
        self.setupUi(self)

class Ui_map2(object):
    def setupUi(self, map2):
        map2.setObjectName(_fromUtf8("map"))
        map2.resize(446, 825)
        map2.setStyleSheet(_fromUtf8("background-image: url(2.png);"))
        self.centralwidget = QtGui.QWidget(map2)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        map2.setCentralWidget(self.centralwidget)
        self.retranslateUi(map2)
        QtCore.QMetaObject.connectSlotsByName(map2)

    def retranslateUi(self, map2):
        map2.setWindowTitle(_translate("map", "MainWindow", None))


class Map2(QtGui.QMainWindow, Ui_map2):
    def __init__(self, parent=None):
        super(Map2, self).__init__(parent)
        self.setupUi(self)

class Ui_map3(object):
    def setupUi(self, map3):
        map3.setObjectName(_fromUtf8("map"))
        map3.resize(446, 825)
        map3.setStyleSheet(_fromUtf8("background-image: url(3.png);"))
        self.centralwidget = QtGui.QWidget(map3)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        map3.setCentralWidget(self.centralwidget)
        self.retranslateUi(map3)
        QtCore.QMetaObject.connectSlotsByName(map3)

    def retranslateUi(self, map3):
        map3.setWindowTitle(_translate("map", "MainWindow", None))

class Map3(QtGui.QMainWindow, Ui_map3):
    def __init__(self, parent=None):
        super(Map3, self).__init__(parent)
        self.setupUi(self)

class Ui_map4(object):
    def setupUi(self, map4):
        map4.setObjectName(_fromUtf8("map"))
        map4.resize(446, 825)
        map4.setStyleSheet(_fromUtf8("background-image: url(4.png);"))
        self.centralwidget = QtGui.QWidget(map4)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        map4.setCentralWidget(self.centralwidget)
        self.retranslateUi(map4)
        QtCore.QMetaObject.connectSlotsByName(map4)

    def retranslateUi(self, map):
        map.setWindowTitle(_translate("map", "MainWindow", None))

class Map4(QtGui.QMainWindow, Ui_map4):
    def __init__(self, parent=None):
        super(Map4, self).__init__(parent)
        self.setupUi(self)

if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    uber = UberMap()
    reader = QRreader()
    good = Good()
    uber.openQRreaderSignal.connect(reader.show)
    reader.openUberSignal.connect(uber.show)
    reader.hideUberSignal.connect(uber.hide)
    uber.show()
    good.show()
    QtCore.QTimer.singleShot(3000, good.close)
    sys.exit(app.exec_())
相关问题