我使用python2.7和PyQt4。我创建了一个带有按钮框和表格小部件的简单应用程序。如果我编辑表格单元格并按下“确定”按钮,则单元格编辑器将始终消失。但是在我添加app.setStyleSheet(s)
行之后,按下“确定”按钮后,单元格编辑器不会消失。发生了什么事?
import sys
from PyQt4 import QtGui
class Widget(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
l = QtGui.QVBoxLayout(self)
table = QtGui.QTableWidget()
table.setColumnCount(3)
table.setRowCount(5)
l.addWidget(table)
l.addWidget(QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel))
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
s = "QWidget{background:red;}"
# app.setStyleSheet(s)
app.setStyleSheet(s)
mw = QtGui.QMainWindow()
w = Widget()
mw.setCentralWidget(w)
mw.show()
sys.exit(app.exec_())
答案 0 :(得分:0)
这似乎是Qt4中的一个错误,但我找不到具体的报告。使用PyQt5时,相同的代码按预期工作,因此它在某种程度上得到了修复。
该错误实际上在QTableWidget
而不是QLineEdit
。如果向示例中添加*ngIf="data"
并将焦点设置在该示例上,您将看到单击“确定”按钮不会切换焦点。或者更确切地说,单击第一个按钮不会切换焦点。按钮框中的所有其他按钮都能正常工作。
我认为这可能与check out the doc's和/或default属性有关,因为它们通常会更改按钮的样式(例如突出显示的边框)。但是设置属性没有任何影响 - 这个bug似乎确实只影响第一个按钮。