Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » pyQT4, использование менеджера размещений виджетов с QMainWindow [RSS Feed]

#1 Ноя. 15, 2008 16:39:13

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

pyQT4, использование менеджера размещений виджетов с QMainWindow

Пример:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QWidget.__init__(self)
boxlay = QtGui.QHBoxLayout(self)

if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
Получаю предупреждение:
QLayout: Attempting to add QLayout “” to MainWindow “”, which already has a layout
Если унаследоваться от QWidget, то всё работает правильно.
Не понял, как правильно пользоваться менеджерами размещений виджетов, если унаследовался от QMainWindow.



Офлайн

#2 Ноя. 15, 2008 18:00:08

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

pyQT4, использование менеджера размещений виджетов с QMainWindow

См. http://doc.trolltech.com/4.4/qmainwindow.html#qt-main-window-framework QMainWindow уже содержит layout, используй .setCentralWidget



Офлайн

#3 Ноя. 15, 2008 18:26:47

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

pyQT4, использование менеджера размещений виджетов с QMainWindow

Спасибо, получилось так: создаю QFrame, делаю его .setCentralWidget, и уже в этом фрейме начинаю городить свои менеджеры размещения и виджеты. Вроде, всё работает.



Отредактировано (Ноя. 15, 2008 18:27:19)

Офлайн

#4 Ноя. 15, 2008 19:45:59

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

pyQT4, использование менеджера размещений виджетов с QMainWindow

Да, я тоже примерно так делаю.



Офлайн

#5 Ноя. 16, 2008 15:15:54

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

pyQT4, использование менеджера размещений виджетов с QMainWindow

Менеджер размещения виджетов? :)



Офлайн

#6 Ноя. 16, 2008 16:01:32

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

pyQT4, использование менеджера размещений виджетов с QMainWindow

poltergeist
Менеджер размещения виджетов?
Ну да. А что, термин плох? :)



Офлайн

#7 Ноя. 16, 2008 18:03:16

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

pyQT4, использование менеджера размещений виджетов с QMainWindow

просто layout, а то потом ещё начнётся “менеджер размещения виджетов в столбик”, “менеджер размещения виджетов в линию”, “менеджер размещения виджетов по сетке” и т.д. :)



Офлайн

#8 Ноя. 16, 2008 18:17:30

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

pyQT4, использование менеджера размещений виджетов с QMainWindow

poltergeist
- “менеджер вертикального размещения виджетов”, далее в тексте можно “вертикальный менеджер”;
- “менеджер горизонтального размещения виджетов”, далее в тексте можно “горизонтальный менеджер”;
- “менеджер табличного размещения виджетов”, далее в тексте можно “табличный менеджер”.
И никаких “layout”, “сеток” и “линий”! Это коверканье русского языка, крайне вредное для понимания материала.
Если хочешь, открывай тему во Флейме, поговорим :).



Офлайн

#9 Ноя. 16, 2008 18:45:31

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

pyQT4, использование менеджера размещений виджетов с QMainWindow

Больше коверкать не буду, похоже у вас есть свой подход к изучению материала… Просто считаю КРАЙНЕ не правильным руссифицирование англоязычных терминов.



Офлайн

#10 Ноя. 16, 2008 19:22:22

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

pyQT4, использование менеджера размещений виджетов с QMainWindow

Самое правильное – разумное использование в контексте. Есть термины для которых есть общепринятые переводы (thread – потоки, хотя более правильно нити), есть такие, перевод которых не “устаканился” (напр, thread safe). Включайте чувство меры и читайте вслух свои тексты. Если слух не режет и понятен целевой аудитории – значит всё ок. Еще лучше – давать кому-нибудь на вычитку.

P.S. Читал древнюю (1994-1997 гг) документацию на проприетарный unix. Да, полный перевод всех терминов – это жесть.
P.P.S. Лучше всего – используйте негласное правило “вводим новый термин – объясняем его, если даем перевод, то даем и оригинал”



Отредактировано (Ноя. 16, 2008 19:27:22)

Офлайн

  • Начало
  • » GUI
  • » pyQT4, использование менеджера размещений виджетов с QMainWindow[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version