Найти - Пользователи
Полная версия: addWidget ???
Начало » GUI » addWidget ???
1
clinicalfilm
по клику кнопки пытаюсь добавить в виджет одно строчное текстовое поле, по идее такой код должен работать, просмотрел много примеров, где-то так все и должно быть, .. но не работает …

def add_Text_Line(self):

self.text1 = QtGui.QLineEdit('text', self)
self.text1.setGeometry(70, 35, 250, 35)
self.addWidget(self.text1)
clinicalfilm
вернее наверное должно быть так, но тоже неработает..

def add_Text(self):

self.text1 = QtGui.QLineEdit('text', self)
self.text1.setGeometry(70, 35, 250, 35)
self.setWidget(self.text1)
reclosedev
clinicalfilm
просмотрел много примеров, где-то так все и должно быть
Почитайте лучше учебник
http://zetcode.com/tutorials/pyqt4/ (перевод)

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

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

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


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

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

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

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

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

я так рад подобным трансферам к энциклопедиям, хотя ответ на самом деле прост до безобразия: просто надо с самого начало всю наследственность элементов прописывать в имени .. и всё … так и надо было ответить .. горе умники .. одно непонятно зачем давать заведомо неверную информацию..
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB