Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyQt4 Как прикрутить QStatusBar в QWidget? [RSS Feed]

#1 Авг. 25, 2010 03:05:23

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

PyQt4 Как прикрутить QStatusBar в QWidget?

Собственно вопрос именно о QWidget, про QMainWindow знаю, но вопрос уже имеет под собой не только практический, но и принципиальный контекст. Должно же работать по идее.
Суть проблемы в том что Появляющийся статус бар лежит не в низу, а сверху, и не по всей длине окна, а с фиксированным размером.
P.S. Судя по поиску вопрос когда то поднимался,но остался без ответа… Хотелось бы разобраться ибо считаю вопрос актуальным.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#2 Авг. 25, 2010 06:35:43

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 Как прикрутить QStatusBar в QWidget?

А можно узнать почему вас QMainWindow не устраивает? И почему вы считаете вопрос актуальным? (мне бы в страшном сне не приснилось такое сделать:))



Офлайн

#3 Авг. 25, 2010 08:53:41

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

PyQt4 Как прикрутить QStatusBar в QWidget?

dartNNN прав, QMainWindow в девяносто девяти случаях из ста хватает.
С теоретический точки зрения, нужно на корневой виджет повесить два виджета: собственно статусбар и центральный виджет (посмотри на QMainWindow.centralWidget, или как-то так), ну и повесить лайоут. Сам Qt ничего за тебя делать не будет. :-)



Офлайн

#4 Авг. 26, 2010 00:14:21

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

PyQt4 Как прикрутить QStatusBar в QWidget?

dartNNN не устраивает это не верно, устраивает. А вот мне пришло в голову такое:)ну как говорится, наверное это мои исключительные проблемы.
ZZZ но у QWidget нету метода setCentralWidget. а С Layout статус бар прилепляется не с самого низу (как в случае с QMainWindow).

Вообще, к слову зачем это. Теоретически это должно работать (ничто не указывает на обратное) - значит оно должно работать и практически.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Отредактировано (Авг. 26, 2010 00:25:57)

Офлайн

#5 Авг. 26, 2010 00:44:16

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

PyQt4 Как прикрутить QStatusBar в QWidget?

JOHN_16
но у QWidget нету метода setCentralWidget
И правильно.

JOHN_16
С Layout статус бар прилепляется не с самого низу
Я давно не писал на qt, но поверь, это очень просто обходится. У виджета есть свойство… “Margin”. что ли?.. Не помню. Но вот оно отвечает за это самое “не с самого низу”.

JOHN_16
Вообще, к слову зачем это. Теоретически это должно работать (ничто не указывает на обратное) - значит оно должно работать и практически.
Конечно. Ведь QMainWindow, это лишь сборище трёх виджетов и одного лайоута. И не более того. :-)



Отредактировано (Авг. 26, 2010 00:45:03)

Офлайн

#6 Авг. 26, 2010 13:33:16

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

PyQt4 Как прикрутить QStatusBar в QWidget?

ZZZ Спасибо что направил в нужное русло. Решение простое, аж стыдно, но сошлюсь на свою неопытность в PyQt

class Main(QWidget):
def __init__(self):
super(Main,self).__init__()

self.sb=QStatusBar(self)
self.sb.showMessage('Hello',5000)

self.text=QTextEdit(self)

h=QVBoxLayout()
h.addWidget(self.text)
h.addWidget(self.sb)
h.setContentsMargins(3,3,3,0)
self.setLayout(h)



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

  • Начало
  • » GUI
  • » PyQt4 Как прикрутить QStatusBar в QWidget?[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version