Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyQt 4 Изменение положения окна относительно Родителя [RSS Feed]

#1 Сен. 5, 2012 17:11:40

Guljaca
От:
Зарегистрирован: 2011-07-11
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt 4 Изменение положения окна относительно Родителя

Если не менять тип окна, оно автоматически располагается относительно родителя.
Если тип сменить и задать размеры с помощью 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)

Офлайн

#2 Сен. 5, 2012 18:43:30

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

PyQt 4 Изменение положения окна относительно Родителя

Расположение по центру относительно родителя:

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() так же вычисляя координаты.

Отредактировано reclosedev (Сен. 5, 2012 18:45:25)

Офлайн

#3 Сен. 6, 2012 13:19:12

Guljaca
От:
Зарегистрирован: 2011-07-11
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt 4 Изменение положения окна относительно Родителя

reclosedev
print window.pos().x()
>> 0
print window.pos().y()
>> 0
При том, что родитель window расположен по центру эрана. Т.е
self.move(parent.pos() + QtCore.QPoint(w / 4, h / 4))
сдвигает относительно экрана, а не окна



Офлайн

#4 Сен. 6, 2012 19:07:50

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

PyQt 4 Изменение положения окна относительно Родителя

Дочернее окно в __init__ создается? Если да, то нужно сначала родителя сделать видимым, чтобы позиция была валидной.

class MainWindow(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.show()
        rd = RD(self)
        rd.show()

Офлайн

  • Начало
  • » GUI
  • » PyQt 4 Изменение положения окна относительно Родителя [RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version