Я разрабатываю графический интерфейс на основе PyQt4.
GUI - это в основном QTabWidget в окне.
QtabWidget имеет много вкладок, в каждой из которых есть таблица, идея состоит в том, чтобы выбрать конкретную вкладку и добавить информацию в ее таблицу.
Моя проблема в том, что когда я изменяю индекс моего вкладки и пытаюсь добавить информацию в эту конкретную таблицу, информация помещается в таблицу последней созданной вкладки.
Например, у меня 3 закладки,
Кто-нибудь может мне помочь?
Заранее спасибо, и вот мой код:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4 import uic, QtCore, QtGui
class MyWindow(QtGui.QWidget):
recive=QtCore.pyqtSignal(str)
poner=QtCore.pyqtSignal(str)
def __init__(self,parent=None):
super(MyWindow, self).__init__(parent)
QtGui.QWidget.__init__(self)
self.setWindowTitle(_translate("Form", "Form", None))
self.setObjectName(_fromUtf8("Form"))
self.resize(695, 577)
self.tabWidget = QtGui.QTabWidget(self)
self.tabWidget.setGeometry(QtCore.QRect(0, 0, 691, 571))
self.tabWidget.setAcceptDrops(False)
self.tabWidget.setObjectName("tabWidget")
self.indice=1
@pyqtSlot(str)
def add_tab(self,numero):
self.tab = QtGui.QWidget(self.tabWidget)
self.tab.setObjectName("tab")
self.tabWidget.addTab(self.tab, "tab")
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Form", "mesa_"+numero, None))
QtCore.QMetaObject.connectSlotsByName(self.tabWidget)
self.add_table()
self.tab.show()
self.indice=self.indice+1
@pyqtSlot()
def add_table(self):
self.tabla_mia = QtGui.QTableWidget(self.tab)
self.tabla_mia.setGeometry(QtCore.QRect(0, 0, 391, 401))
self.tabla_mia.setAcceptDrops(False)
self.tabla_mia.setAutoFillBackground(False)
self.tabla_mia.setObjectName("tabla_mia")
self.tabla_mia.setColumnCount(2)
self.tabla_mia.setRowCount(0)
item = QtGui.QTableWidgetItem()
self.tabla_mia.setHorizontalHeaderItem(0, item)
item.setText(_translate("Form", "Platillo", None))
item = QtGui.QTableWidgetItem()
self.tabla_mia.setHorizontalHeaderItem(1, item)
item.setText(_translate("Form", "Cantidad", None))
QtCore.QMetaObject.connectSlotsByName(self.tabWidget)
self.tabla_mia.show()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window=MyWindow()
window.show()
window.recive.connect(window.add_tab)
window.recive.emit('0')
window.recive.emit('1')
window.recive.emit('2')
window.tabWidget.setCurrentIndex(1)
window.tabla_mia.setRowCount((window.tabla_mia.rowCount())+1)
window.tabla_mia.setItem(0,0,QTableWidgetItem("Holo"))
sys.exit(app.exec_())