本文整理汇总了Python中UI.widgets.Tabla.horizontalHeader方法的典型用法代码示例。如果您正苦于以下问题:Python Tabla.horizontalHeader方法的具体用法?Python Tabla.horizontalHeader怎么用?Python Tabla.horizontalHeader使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UI.widgets.Tabla
的用法示例。
在下文中一共展示了Tabla.horizontalHeader方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: widgetReacciones
# 需要导入模块: from UI.widgets import Tabla [as 别名]
# 或者: from UI.widgets.Tabla import horizontalHeader [as 别名]
class widgetReacciones(QtWidgets.QWidget):
"""Widget con la tabla de reacciones y los botones para modificar la lista de reacciones"""
changed = QtCore.pyqtSignal()
reacciones=[]
reaccion=None
activo=None
ajuste=None
def __init__(self, parent=None):
super(widgetReacciones, self).__init__(parent)
self.indices, self.nombres, M=getComponents()
gridLayout = QtWidgets.QGridLayout(self)
self.TablaReacciones=Tabla(5, horizontalHeader=[QtWidgets.QApplication.translate("pychemqt", "Reaction"), "ΔHr, %s" %unidades.MolarEnthalpy(None).text(), QtWidgets.QApplication.translate("pychemqt", "Type"), QtWidgets.QApplication.translate("pychemqt", "Phase"), QtWidgets.QApplication.translate("pychemqt", "Description")], dinamica=False, verticalHeader=True, orientacion=QtCore.Qt.AlignLeft)
self.TablaReacciones.setMinimumWidth(500)
self.TablaReacciones.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
self.TablaReacciones.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
self.TablaReacciones.horizontalHeader().setStretchLastSection(True)
self.TablaReacciones.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
self.TablaReacciones.itemSelectionChanged.connect(self.actualizarBotones)
gridLayout.addWidget(self.TablaReacciones,1,1,6,4)
self.botonAbrir=QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(os.environ["pychemqt"]+"/images/button/fileOpen.png")), QtWidgets.QApplication.translate("pychemqt", "Open"))
self.botonAbrir.clicked.connect(self.botonAbrirClicked)
gridLayout.addWidget(self.botonAbrir,1,5)
self.botonGuardar=QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(os.environ["pychemqt"]+"/images/button/fileSave.png")), QtWidgets.QApplication.translate("pychemqt", "Save"))
self.botonGuardar.clicked.connect(self.botonGuardarClicked)
self.botonGuardar.setSizePolicy(QtWidgets.QSizePolicy.Fixed,QtWidgets.QSizePolicy.Fixed)
self.botonGuardar.setEnabled(False)
gridLayout.addWidget(self.botonGuardar,2,5)
self.botonNew=QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(os.environ["pychemqt"]+"/images/button/fileNew.png")), QtWidgets.QApplication.translate("pychemqt", "New"))
self.botonNew.clicked.connect(self.botonNewClicked)
gridLayout.addWidget(self.botonNew,3,5)
self.botonEdit=QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(os.environ["pychemqt"]+"/images/button/editor.png")), QtWidgets.QApplication.translate("pychemqt", "Edit"))
self.botonEdit.setEnabled(False)
self.botonEdit.setCheckable(True)
self.botonEdit.clicked.connect(self.botonEditClicked)
gridLayout.addWidget(self.botonEdit,4,5)
self.botonDelete=QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(os.environ["pychemqt"]+"/images/button/editDelete.png")), QtWidgets.QApplication.translate("pychemqt", "Delete"))
self.botonDelete.setEnabled(False)
self.botonDelete.clicked.connect(self.botonDeleteClicked)
gridLayout.addWidget(self.botonDelete,5,5)
self.botonClear=QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(os.environ["pychemqt"]+"/images/button/clear.png")), QtWidgets.QApplication.translate("pychemqt", "Clear"))
self.botonClear.clicked.connect(self.botonClearClicked)
gridLayout.addWidget(self.botonClear,6,5)
gridLayout.addItem(QtWidgets.QSpacerItem(10,10,QtWidgets.QSizePolicy.Expanding,QtWidgets.QSizePolicy.Expanding),10,1)
def actualizarBotones(self, bool=True):
self.botonEdit.setEnabled(bool)
self.botonDelete.setEnabled(bool)
def botonAbrirClicked(self):
fname = str(QtWidgets.QFileDialog.getOpenFileName(self, QtWidgets.QApplication.translate("pychemqt", "Open reaction file"), "./", QtWidgets.QApplication.translate("pychemqt", "reaction file")+" (*.rec);;"+QtWidgets.QApplication.translate("pychemqt", "All files")+" (*.*)")[0])
if fname:
with open(fname, "r") as archivo:
reacciones=pickle.load(archivo)
print(reacciones)
self.reacciones=reacciones
self.botonGuardar.setEnabled(True)
for fila, reaccion in enumerate(reacciones):
self.TablaReacciones.addRow()
self.TablaReacciones.setValue(fila, 0, reaccion.text)
self.TablaReacciones.setValue(fila, 1, "%0.4e" %reaccion.Hr.config(), QtCore.Qt.AlignRight)
self.TablaReacciones.setValue(fila, 2, str(reaccion.tipo+1)+" - "+reaction.Reaction.TEXT_TYPE[reaccion.tipo])
self.TablaReacciones.setValue(fila, 3, reaction.Reaction.TEXT_PHASE[reaccion.fase])
self.TablaReacciones.item(fila, 4).setFlags(QtCore.Qt.ItemIsEditable|QtCore.Qt.ItemIsEnabled|QtCore.Qt.ItemIsSelectable)
for i in range(4):
self.TablaReacciones.resizeColumnToContents(i)
self.changed.emit()
def botonGuardarClicked(self):
fname = str(QtWidgets.QFileDialog.getSaveFileName(self, QtWidgets.QApplication.translate("pychemqt", "Save reaction to file"), "./", QtWidgets.QApplication.translate("pychemqt", "reaction file")+" (*.rec)")[0])
if fname:
if fname.split(".")[-1]!="rec":
fname+=".rec"
pickle.dump(self.reacciones, open(fname, "w"))
def botonNewClicked(self):
dialog=UI_reacciones(parent=self)
if dialog.exec_():
pass
def botonEditClicked(self, bool):
if bool:
indice=self.TablaReacciones.currentRow()
reaccion=self.reacciones[indice]
dialogo=UI_reacciones(reaccion, self)
dialogo.exec_()
# self.rellenar(self.reaccion)
# self.activo=indice
else:
self.botonAddClicked(self.activo, False)
self.reacciones[self.activo]=self.reaccion
self.TablaReacciones.setCurrentCell(self.activo, 0)
self.activo=-1
self.changed.emit()
#.........这里部分代码省略.........
示例2: InputTableWidget
# 需要导入模块: from UI.widgets import Tabla [as 别名]
# 或者: from UI.widgets.Tabla import horizontalHeader [as 别名]
class InputTableWidget(QtWidgets.QWidget):
"""Table data input dialog"""
def __init__(self, columnas, data=None, t=[], property=[],
horizontalHeader=[], title="", DIPPR=False, hasTc=0,
Tc=None, eq=1, unit=[], parent=None):
"""
data: mrray with original data
t: values for x column, generally temperature
property: values for 2...n columns
horizontalHeader: List with column title
DIPPR: boolean to show DIPPR widget
hasTc: boolean to show critical temperature (some DIPPR eq need it)
Tc: value for critical temperature
eq: Value for DIPPR equation
unit: List of unidades classes for column definition
"""
super(InputTableWidget, self).__init__(parent)
self.columnas = columnas
self.title = title
self.unit = unit
gridLayout = QtWidgets.QGridLayout(self)
gridLayout.setContentsMargins(0, 0, 0, 0)
openButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(
os.environ["pychemqt"]+"/images/button/fileOpen.png")), "")
openButton.setToolTip(QtWidgets.QApplication.translate(
"pychemqt", "Load data from a file"))
openButton.clicked.connect(self.open)
gridLayout.addWidget(openButton, 1, 1)
saveButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(
os.environ["pychemqt"]+"/images/button/fileSave.png")), "")
saveButton.setToolTip(QtWidgets.QApplication.translate(
"pychemqt", "Save data to a file"))
saveButton.clicked.connect(self.save)
gridLayout.addWidget(saveButton, 1, 2)
clearButton = QtWidgets.QPushButton(QtGui.QIcon(QtGui.QPixmap(
os.environ["pychemqt"]+"/images/button/clear.png")), "")
clearButton.setToolTip(QtWidgets.QApplication.translate(
"pychemqt", "Clear data"))
clearButton.clicked.connect(self.delete)
gridLayout.addWidget(clearButton, 1, 3)
gridLayout.addItem(QtWidgets.QSpacerItem(
0, 0, QtWidgets.QSizePolicy.Expanding,
QtWidgets.QSizePolicy.Fixed), 1, 4)
self.tabla = Tabla(self.columnas, horizontalHeader=horizontalHeader,
verticalHeader=False, stretch=False)
self.tabla.setConnected()
if unit:
hHeader = []
for unit, title in zip(self.unit, horizontalHeader):
hHeader.append("%s, %s" % (title, unit.text()))
self.tabla.setHorizontalHeaderLabels(hHeader)
self.tabla.horizontalHeader().sectionClicked.connect(self.editUnit)
if data:
self.tabla.setData(data)
self.tabla.addRow()
elif t and property:
self.tabla.setColumn(0, t)
self.tabla.setColumn(1, property)
gridLayout.addWidget(self.tabla, 2, 1, 1, 4)
if DIPPR:
self.eqDIPPR = eqDIPPR(eq)
gridLayout.addWidget(self.eqDIPPR, 3, 1, 1, 4)
self.eqDIPPR.eqDIPPR.valueChanged.connect(self.showTc)
self.labelTc = QtWidgets.QLabel("Tc: ", self)
gridLayout.addWidget(self.labelTc, 4, 1)
self.tc = Entrada_con_unidades(Temperature, value=Tc)
gridLayout.addWidget(self.tc, 4, 2, 1, 3)
self.showTc(1)
def showTc(self, value):
"""Show/hide Tc widget"""
self.labelTc.setVisible(value in (7, 9))
self.tc.setVisible(value in (7, 9))
def open(self):
"""Load data from a test file"""
fname, ext = QtWidgets.QFileDialog.getOpenFileName(
self,
QtWidgets.QApplication.translate("pychemqt", "Open text file"),
"./")
if fname:
try:
# Numpy raise error if use the fname directly and find a
# non-latin1 character, inclusive in comment lines
with open(fname, "rb") as file:
data = loadtxt(file)
self.delete()
self.tabla.setData(data)
except ValueError as er:
# Raise a error msg if the file can load by loadtxt, the user
# can select any type of file and the input error is possible
title = QtWidgets.QApplication.translate(
"pychemqt", "Failed to load file")
msg = fname + "\n" + er.args[0]
QtWidgets.QMessageBox.critical(self, title, msg)
#.........这里部分代码省略.........