Создание окон Qt на основе количества элементов списка - PullRequest
0 голосов
/ 27 июня 2018

Прежде всего, это мой код:

class Fillscreen(QtGui.QWidget, Ui_View):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent,)
        self.setupUi(self)

    def full(self):
        self.showMaximized()

if __name__ == '__main__':

    app = QtGui.QApplication(sys.argv)

    monitors = selector.getMonitors()
    resolutions = selector.getResolution(monitors)
    for monitor in monitors:
        window = Fillscreen()
        window.move(monitor[0],monitor[1])
        window.full()
    app.exec_()

monitors выглядит так: [(-1280, 0, 0, 1024), (0, 0, 1920, 1080), (1920, 0, 3840, 1080)]

Так как он создает только одно окно, что абсолютно логично, так как я перезаписываю window в каждом цикле. Чтобы решить эту проблему, я мог бы вручную создать window1, window2 и window3

Но как мне это сделать, если я не уверен в количестве мониторов?

1 Ответ

0 голосов
/ 27 июня 2018

Использование QApplication::desktop():

...

if __name__ == '__main__':

    app = QtGui.QApplication(sys.argv)
    ws = []

    for i in range(QtGui.QApplication.desktop().screenCount()):
        topLeft = QtGui.QApplication.desktop().screenGeometry(i).topLeft()
        window = Fillscreen()
        window.move(topLeft)
        window.full()
        ws.append(window)
    sys.exit(app.exec_())
...