python - 如何从许多选项卡中选择特定选项卡以在 pyqt 上添加信息?
问题描述
我正在设计一个基于 PyQt4 的 GUI。
GUI 基本上是一个窗口中的 QTabWidget。
QtabWidget 有许多选项卡,每个选项卡都存在一个表,其想法是选择一个特定的选项卡并将信息添加到其表中。
我的问题是,当我更改我的 tabwidget 的索引并尝试在该特定表中添加信息时,该信息将放在创建的最后一个选项卡的表上。
例如,我有 3 个选项卡,我想在 tab1 的表中添加一个单词,但该单词被放在 tab2 的表中,单词错放在 Tab2 的表中,称为 'mesa_2'。
谁能帮我?
在此先感谢,这是我的代码:
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_())
解决方案
推荐阅读
- spring - GET 类型的 REST 服务的 DTO 映射
- php - Laravel 5.6 使用 Ajax 登录后无法访问用户详细信息
- apache-spark - 使用直线连接到 Spark Thrift 服务器的问题
- python - 如何制作一个函数来查找字符串中的重复项?
- python - 来自 txt 文件的 Python Selenium add_cookie
- webrtc - 我可以在未经用户许可的情况下录制浏览器屏幕吗?
- json - 在获取 json 数据和 http 文件时出现异常
- kotlin - 如何重载具有相同参数类型但一个可以为空的函数
- wordpress - 获取 WordPress 插件目录 URI
- android - 如何仅为某些屏幕尺寸和更小尺寸指定文本大小?