【发布时间】:2021-03-29 01:08:47
【问题描述】:
我需要将 QTableWidget 的线四舍五入,使其看起来像这样,
我几乎没有发现非 C++ 编写的表格样式 或者解释表中行的样式化
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(400, 303)
self.horizontalLayout = QtWidgets.QHBoxLayout(Form)
self.horizontalLayout.setObjectName("horizontalLayout")
self.tableWidget = QtWidgets.QTableWidget(Form)
self.tableWidget.setStyleSheet("QTableWidget{\n"
"background-color: white;\n"
"color:black;\n"
"border-bottom: 2px solid white;\n"
"border-right: 2px solid white;\n"
"}\n"
"\n"
"QTableView::item {\n"
"border-bottom: 1px solid #d6d9dc;\n"
"border-top: 1px solid #d6d9dc;\n"
"margin-bottom:5px;\n"
"border-radius:10px;\n"
"\n"
"\n"
"\n"
"\n"
"}\n"
"QTableView::section{\n"
"color:blue;\n"
"}")
self.tableWidget.setObjectName("tableWidget")
self.tableWidget.setColumnCount(3)
self.tableWidget.setRowCount(2)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setVerticalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setVerticalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(2, item)
self.tableWidget.horizontalHeader().setVisible(False)
self.tableWidget.verticalHeader().setVisible(False)
self.horizontalLayout.addWidget(self.tableWidget)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
item = self.tableWidget.verticalHeaderItem(0)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget.verticalHeaderItem(1)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget.horizontalHeaderItem(0)
item.setText(_translate("Form", "New Column"))
item = self.tableWidget.horizontalHeaderItem(1)
item.setText(_translate("Form", "New Column"))
item = self.tableWidget.horizontalHeaderItem(2)
item.setText(_translate("Form", "New Column"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
上面的代码有什么问题?
【问题讨论】:
-
请不要将代码(包括样式表)作为图片发布,因为这会使试图重现您的问题非常烦人,因为我们需要手动复制所有内容(我们可能会犯一些错误或遗漏一些你的)。也就是说,该样式表是为表设置的还是为任何父级设置的?您确定没有在任何父小部件(包括窗口)上设置另一个(可能是通用的)样式表吗?我建议你包含 ui 文件的完整代码。
-
M.R.E 已经在这个问题上了,抱歉之前没有发布过
-
@PeterTorben 抱歉,我误读了您的问题,因为我认为问题与表格的圆形边框有关。
标签: python python-3.x pyqt5 qtstylesheets