Найти - Пользователи
Полная версия: PyQt 4 Изменение положения окна относительно Родителя
Начало » GUI » PyQt 4 Изменение положения окна относительно Родителя
1
Guljaca
Если не менять тип окна, оно автоматически располагается относительно родителя.
Если тип сменить и задать размеры с помощью self.setGeometry(), окно будет отображаться от границы экрана, что мне совсем не нужно.
В скрипте ниже окна выравнивается по центру только по вертикали, как сместить по горизонтали?
Как изменять положение относительно родителя?

class RD(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, window)
        self.setMinimumSize(700,500)
        self.setWindowFlags(Qt.ToolTip)
        self.setWindowModality(True)
reclosedev
Расположение по центру относительно родителя:
class RD(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        w, h = 700, 500
        self.setMinimumSize(w, h)
        self.setWindowFlags(QtCore.Qt.ToolTip)
        self.setWindowModality(True)
        self.move(parent.pos() + QtCore.QPoint(w / 4, h / 4))
Или через setGeometry() так же вычисляя координаты.
Guljaca
reclosedev
print window.pos().x()
>> 0
print window.pos().y()
>> 0
При том, что родитель window расположен по центру эрана. Т.е
self.move(parent.pos() + QtCore.QPoint(w / 4, h / 4))
сдвигает относительно экрана, а не окна
reclosedev
Дочернее окно в __init__ создается? Если да, то нужно сначала родителя сделать видимым, чтобы позиция была валидной.
class MainWindow(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.show()
        rd = RD(self)
        rd.show()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB