народ помогите, совсем сил нету...
я написал прогу, в ней слева древо классов справа таблица, мне надо сделать так чтобы при нажатии мышкой на элемент в древе, в таблице появился этот элемент...
заранее спасибо
вот код проги:
# -*- coding: cp1251 -*-
'''
Created on 27.10.2011
@author: ALEX
'''
import sys
from PyQt4 import QtGui, QtCore
class drevo(QtGui.QMainWindow):
def __init__ (self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
self.move(300, 300)
tree = QtGui.QTreeWidget(self)
# self.setCentralWidget(tree)
self.cw = QtGui.QWidget(self)
QtGui.QHBoxLayout(self.cw)
self.setCentralWidget(self.cw)
# self.setCentralWidget(QtGui.QWidget())
self.centralWidget().layout().addWidget(tree)
tree.setColumnCount(2)
#заголовки 1 и 2 столбцов
tree.headerItem().setData(0, QtCore.Qt.DisplayRole, QtCore.QVariant(u'1'))
tree.headerItem().setData(1, QtCore.Qt.DisplayRole, QtCore.QVariant(u'2'))
# заполнение дерева данными, верхний уровень:
item = self.createItem(u'переславль', 'sity')
tree.addTopLevelItem(item)
item2 = self.createItem(u'ярославль', 'sity')
tree.addTopLevelItem(item2)
# заполнение дерева данными, второй уровень:
item.addChild(self.createItem(u'1152', 'osnovan'))
item2.addChild(self.createItem(u'основан 1221', ''))
# заполнение дерева данными, третий уровень:
item.child(0).addChild(self.createItem(u'долгорукий', 'kto osnoval'))
item2.child(0).addChild(self.createItem(u'хw3з', ''))
# self.mw = QtGui.QMainWindow() # создаем главное окно
# self.mw.setWindowTitle('qwe') # ставим заголовок
# self.mw.setCentralWidget(QtGui.QWidget()) # ставим "центральный виджет"
# self.mw.centralWidget().setLayout(QtGui.QHBoxLayout()) # обращаемся к центральному виджету и задаем ему лэйаут
self.qwq = QtGui.QTableWidget() # создаем табличный виджет
self.centralWidget().layout().addWidget(self.qwq) # выложили виджет
self.qwq.setRowCount(1) # задали кол-во строк
self.qwq.setColumnCount(1) # столбцов
#self.qwq.setColumnHidden(0,True) # спрятали первую колонку
self.show() # показываем окно
b = QtGui.QPushButton('klick') # создали кнопку
self.centralWidget().layout().addWidget(B) # обращаемся к лэйауту виджета - добавляем виджет - нашу кнопку
QtCore.QObject.connect(b,QtCore.SIGNAL('clicked()'),self.klick) # соединяем сигнал "clicked()" с методом klick
def klick(self):
try: # обработка исключений
print self.text() # берем text() из элемента грида 1,1 и печатаем его
except: # в случае всех ошибок
print 'Не создан элемент' # ругаемся
#показывание что на писано в 1 и 2 столбцах
def createItem(self, first, second):
item = QtGui.QTreeWidgetItem()
item.setData(0, QtCore.Qt.DisplayRole, QtCore.QVariant(first))
item.setData(1, QtCore.Qt.DisplayRole, QtCore.QVariant(second))
return item
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
win = drevo()
win.show()
sys.exit(app.exec_())