pyqt5でウィンドウをスクリーンの中央に表示したいです。例えば次のコードで表示されるウィンドウがスクリーン中央に表示されるためにはどうすればよいのでしょうか。

import sys
from PyQt5.QtWidgets import (QWidget,
    QVBoxLayout, QHBoxLayout, QApplication, QPushButton, QLabel, QLineEdit)
from PyQt5 import*



class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()


    def initUI(self):
        font=QtGui.QFont("00コミック7",20)

        # ラベル名の設定
        lbl1 = QLabel('1行目')
        lbl1.setFont(font)
        lbl2 = QLabel('2行目')
        lbl2.setFont(font)
        lbl3 = QLabel('3行目')
        lbl3.setFont(font)

        self.edit1=QLineEdit()
        self.edit1.setFont(font)
        self.edit2=QLineEdit()
        self.edit2.setFont(font)
        self.edit3=QLineEdit()
        self.edit3.setFont(font)

        btn1=QPushButton("1")
        btn1.setFont(font)
        btn1.setStyleSheet("background-color: #ffcf54")
        btn2=QPushButton("2")
        btn2.setFont(font)
        btn2.setStyleSheet("background-color: #ffcf54")
        btn3=QPushButton("3")
        btn3.setFont(font)
        btn3.setStyleSheet("background-color: #ffcf54")

        firstlayout=QHBoxLayout()
        firstlayout.addWidget(lbl1)
        firstlayout.addWidget(self.edit1)
        firstlayout.addWidget(btn1)

        secondlayout=QHBoxLayout()
        secondlayout.addWidget(lbl2)
        secondlayout.addWidget(self.edit2)
        secondlayout.addWidget(btn2)

        thirdlayout=QHBoxLayout()
        thirdlayout.addWidget(lbl3)
        thirdlayout.addWidget(self.edit3)
        thirdlayout.addWidget(btn3)

        layout=QVBoxLayout()
        layout.addLayout(firstlayout)
        layout.addLayout(secondlayout)
        layout.addLayout(thirdlayout)

        self.setLayout(layout)

        self.setWindowTitle('レイアウト')    
        self.show()


if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

ちなみにこのコードを実行すると次のようなウィンドウが表示されます。
画像
しかし、このままではスクリーンの若干上の方に表示されます。また、もっと大きなジオメトリを作成すると、画面左側にまだ余裕があるのに、画面右側にはみ出したりします。