Уведомления

Группа в Telegram: @pythonsu

#1 Май 24, 2009 03:07:57

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

pyQt4. Как передать Параметр?

Доброго времени суток!
У меня установлен виндовсХР, пайтон 2.5,pyQt4 4.4.3
Может этот вопрос не сюда, так что не ругайте ламера.
Есть такой код:

from PyQt4 import QtCore,QtGui
import sys
import sqlite3
class treeses(QtGui.QTreeWidget):
def __init__(self):
QtGui.QTreeWidget.__init__(self)
self.setColumnCount(1)

item1=QtGui.QTreeWidgetItem(self)
item1.setText(0,u'элемент1')
item1.setExpanded(True)

item2=QtGui.QTreeWidgetItem(item1)
item2.setText(0,u'элемент2')

def mousePressEvent(self, event):
# определяем позицию нажатия мыши
x= event.pos().x(); y= event.pos().y()
# печатаем элемент, который щелкнули, здесь можно вызывать ф-ии обработчики
tree_view.textLabel.setText("lkkkk")
print unicode(self.itemAt(x,y).text(0))

# восстанавливаем поведение mousePressEvent()
QtGui.QTreeWidget.mousePressEvent(self,event)



class tree_view(QtGui.QWidget):
def __init__(self,*argv):
QtGui.QWidget.__init__(self,*argv)

self.textLabel=QtGui.QLabel("1")
self.tree=treeses()
layoult=QtGui.QHBoxLayout()
layoult.addWidget(self.tree)
layoult.addWidget(self.textLabel)
self.setLayout(layoult)
Когда я его(QTreeWidget) нажимаю вылетает ошибка: AttributeError: textLabel.
Подскажите, уважаемые гуру, в чем, кроме ДНК, здесь ошибка?

Офлайн

#2 Май 24, 2009 05:07:33

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

pyQt4. Как передать Параметр?

helm2004
Подскажите, уважаемые гуру, в чем, кроме ДНК, здесь ошибка?
В незнании основ ООП.
Ты не создал объект-экземпляр класса tree_view, а спрашиваешь textLabel у объекта-класса tree_view, который создаёт textLabel в __init__, т.е. при инициализации (читай: создании) экземпляра.

P.S. И начни с изучения PEP-8. Код не читабельный.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version