Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 1, 2012 09:20:06

clinicalfilm
Зарегистрирован: 2012-09-28
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

addWidget ???

по клику кнопки пытаюсь добавить в виджет одно строчное текстовое поле, по идее такой код должен работать, просмотрел много примеров, где-то так все и должно быть, .. но не работает …

def add_Text_Line(self):

self.text1 = QtGui.QLineEdit('text', self)
self.text1.setGeometry(70, 35, 250, 35)
self.addWidget(self.text1)

Офлайн

#2 Окт. 1, 2012 09:41:57

clinicalfilm
Зарегистрирован: 2012-09-28
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

addWidget ???

вернее наверное должно быть так, но тоже неработает..

def add_Text(self):

self.text1 = QtGui.QLineEdit('text', self)
self.text1.setGeometry(70, 35, 250, 35)
self.setWidget(self.text1)

Отредактировано clinicalfilm (Окт. 1, 2012 09:43:26)

Офлайн

#3 Окт. 1, 2012 18:30:55

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

addWidget ???

clinicalfilm
просмотрел много примеров, где-то так все и должно быть
Почитайте лучше учебник
http://zetcode.com/tutorials/pyqt4/ (перевод)

Здесь ответ:
http://zetcode.com/tutorials/pyqt4/layoutmanagement/ (ru)

Офлайн

#4 Окт. 2, 2012 08:59:40

clinicalfilm
Зарегистрирован: 2012-09-28
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

addWidget ???

reclosedev
clinicalfilm
просмотрел много примеров, где-то так все и должно быть
Почитайте лучше учебник
http://zetcode.com/tutorials/pyqt4/ (перевод)

Здесь ответ:
http://zetcode.com/tutorials/pyqt4/layoutmanagement/ (ru)


спасибо за супер развернутые ответы, речь несколько о том, почему команда addWidget работает если она расположена в теле функции self и не работает если она расположена в другой процедуре, которая вызывается с кнопки … вот эти строки :
text1 = QtGui.QLineEdit('text')
hbox.addWidget(text1, 10)
… наверное нужно произвести еще какое-нибудь шаманство?

Офлайн

#5 Окт. 2, 2012 11:24:45

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

addWidget ???

clinicalfilm
наверное нужно произвести еще какое-нибудь шаманство?
Наверное, нужно все-таки последовательно почитать учебник, иногда обращаясь к документации Qt, уяснить разницу между QWidget (и его наследниками) и QLayout (QHBoxLayout в данном случае), и вообще, о принципах компоновки виджетов, что и описано во второй ссылке.

Причина в том, что класс наследуется от QWidget и функции addWidget у него нет.

А после таких описаний:
clinicalfilm
почему команда addWidget работает если она расположена в теле функции self и не работает если она расположена в другой процедуре, которая вызывается с кнопки
и другого вопроса я бы рекомендовал почитать про классы, и разобраться что такое и зачем нужен self.

Офлайн

#6 Окт. 3, 2012 08:50:34

clinicalfilm
Зарегистрирован: 2012-09-28
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

addWidget ???

reclosedev
clinicalfilm
наверное нужно произвести еще какое-нибудь шаманство?
Наверное, нужно все-таки последовательно почитать учебник, иногда обращаясь к документации Qt, уяснить разницу между QWidget (и его наследниками) и QLayout (QHBoxLayout в данном случае), и вообще, о принципах компоновки виджетов, что и описано во второй ссылке.

Причина в том, что класс наследуется от QWidget и функции addWidget у него нет.

А после таких описаний:
clinicalfilm
почему команда addWidget работает если она расположена в теле функции self и не работает если она расположена в другой процедуре, которая вызывается с кнопки
и другого вопроса я бы рекомендовал почитать про классы, и разобраться что такое и зачем нужен self.

я так рад подобным трансферам к энциклопедиям, хотя ответ на самом деле прост до безобразия: просто надо с самого начало всю наследственность элементов прописывать в имени .. и всё … так и надо было ответить .. горе умники .. одно непонятно зачем давать заведомо неверную информацию..

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version