Форум сайта python.su
Если не менять тип окна, оно автоматически располагается относительно родителя.
Если тип сменить и задать размеры с помощью 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)
Отредактировано Guljaca (Сен. 5, 2012 17:12:12)
Офлайн
Расположение по центру относительно родителя:
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))
Отредактировано reclosedev (Сен. 5, 2012 18:45:25)
Офлайн
reclosedev
print window.pos().x() >> 0 print window.pos().y() >> 0
self.move(parent.pos() + QtCore.QPoint(w / 4, h / 4))
Офлайн
Дочернее окно в __init__ создается? Если да, то нужно сначала родителя сделать видимым, чтобы позиция была валидной.
class MainWindow(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.show() rd = RD(self) rd.show()
Офлайн