在 QTableWidgetItem 中使用富文本
Use rich text in QTableWidgetItem
有什么方法可以在 QTableWidgetItem
中使用富文本?
目前我有这个:
widgetItem = QtWidgets.QTableWidgetItem()
widget = QtWidgets.QWidget()
widgetText = QtWidgets.QLabel("<b>foo bar</b>")
widgetLayout = QtWidgets.QHBoxLayout()
widgetLayout.addWidget(widgetText)
widgetLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
widget.setLayout(widgetLayout)
widgetItem.setSizeHint(widget.sizeHint())
self.tablewidget.setCellWidget(0, 0, widget)
self.tablewidget.resizeColumnsToContents()
但是我的 table 小部件没有任何显示。
创建QTableWidget
时必须设置行数和列数,例如:
self.tablewidget = QtWidgets.QTableWidget(2, 2, self)
或者我们可以稍后使用 setRowCount()
和 setColumnCount()
函数设置它:
self.tablewidget = QtWidgets.QTableWidget(self)
self.tablewidget.setRowCount(10)
self.tablewidget.setColumnCount(5)
但是如果您不使用上面的表单,将不会显示小部件,在您的情况下是标签。
也没有必要使用QTableWidgetItem,如下所示:
import sys
from PyQt5 import QtWidgets
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
tablewidget = QtWidgets.QTableWidget(4, 4)
widget = QtWidgets.QWidget()
widgetText = QtWidgets.QLabel("<b>foo bar</b>")
widgetLayout = QtWidgets.QHBoxLayout()
widgetLayout.addWidget(widgetText)
widgetLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
widget.setLayout(widgetLayout)
tablewidget.setCellWidget(0, 0, widget)
tablewidget.resizeColumnsToContents()
tablewidget.show()
sys.exit(app.exec_())
输出:
有什么方法可以在 QTableWidgetItem
中使用富文本?
目前我有这个:
widgetItem = QtWidgets.QTableWidgetItem()
widget = QtWidgets.QWidget()
widgetText = QtWidgets.QLabel("<b>foo bar</b>")
widgetLayout = QtWidgets.QHBoxLayout()
widgetLayout.addWidget(widgetText)
widgetLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
widget.setLayout(widgetLayout)
widgetItem.setSizeHint(widget.sizeHint())
self.tablewidget.setCellWidget(0, 0, widget)
self.tablewidget.resizeColumnsToContents()
但是我的 table 小部件没有任何显示。
创建QTableWidget
时必须设置行数和列数,例如:
self.tablewidget = QtWidgets.QTableWidget(2, 2, self)
或者我们可以稍后使用 setRowCount()
和 setColumnCount()
函数设置它:
self.tablewidget = QtWidgets.QTableWidget(self)
self.tablewidget.setRowCount(10)
self.tablewidget.setColumnCount(5)
但是如果您不使用上面的表单,将不会显示小部件,在您的情况下是标签。
也没有必要使用QTableWidgetItem,如下所示:
import sys
from PyQt5 import QtWidgets
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
tablewidget = QtWidgets.QTableWidget(4, 4)
widget = QtWidgets.QWidget()
widgetText = QtWidgets.QLabel("<b>foo bar</b>")
widgetLayout = QtWidgets.QHBoxLayout()
widgetLayout.addWidget(widgetText)
widgetLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
widget.setLayout(widgetLayout)
tablewidget.setCellWidget(0, 0, widget)
tablewidget.resizeColumnsToContents()
tablewidget.show()
sys.exit(app.exec_())
输出: