crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> соеденение древа и таблици, помогите пожайлусто
Lunt
  опции профиля:
сообщение 11.5.2012, 16:16
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 11.5.2012
Пользователь №: 3373

Спасибо сказали: 0 раз(а)




Репутация:   0  


народ помогите, совсем сил нету...
я написал прогу, в ней слева древо классов справа таблица, мне надо сделать так чтобы при нажатии мышкой на элемент в древе, в таблице появился этот элемент...
заранее спасибо

вот код проги:
# -*- 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_())
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.12.2024, 4:54