standard/system QLineEdit 的确切边框颜色和宽度?
Exact border color and width of standard/system QLineEdit?
有谁知道 standard/system QLineEdit 的边框颜色?黑色is/seems太黑了。它看起来像一些灰色阴影,但想要准确的颜色。
还有,边框宽度是1px吗?
没有“standard/system”边框颜色和边框大小。这取决于:
- OS;
- OS 可能的样式自定义;
- 正在使用的 Qt 样式(可能取决于也可能不取决于 OS);
- 可能与样式表一起使用的自定义;
颜色可以基于当前调色板的颜色,但每种样式(和OS)以不同的方式使用这些颜色,在某些情况下它们甚至是使用像素图绘制的。
可能用于绘制边框的color roles是:
- QPalette.WindowText
- QPalette.Text
- QPalette.Midlight
- QPalette.Dark
- QPalette.Mid
- QPalette.Shadow
帧宽度可以基于PM_DefaultFrameWidth
像素度量,可以通过以下方式查询:
# within an existing QLineEdit instance
opt = QtWidgets.QStyleOptionFrame()
self.initStyleOption(opt)
border = opt.lineWidth
# without a QLineEdit, from any other widget
style = self.style()
# or from the app
opt = QtWidgets.QStyleOptionFrame()
style = QtWidgets.QApplication.style()
border = style.pixelMetric(QtWidgets.QStyle.PM_DefaultFrameWidth, opt)
但是,如上所述,返回的颜色和值可能不与实际结果一致,也因为样式可能会做一些调整并添加图形效果,可能increase/decrease可见边框宽度并改变其外观。
有谁知道 standard/system QLineEdit 的边框颜色?黑色is/seems太黑了。它看起来像一些灰色阴影,但想要准确的颜色。
还有,边框宽度是1px吗?
没有“standard/system”边框颜色和边框大小。这取决于:
- OS;
- OS 可能的样式自定义;
- 正在使用的 Qt 样式(可能取决于也可能不取决于 OS);
- 可能与样式表一起使用的自定义;
颜色可以基于当前调色板的颜色,但每种样式(和OS)以不同的方式使用这些颜色,在某些情况下它们甚至是使用像素图绘制的。
可能用于绘制边框的color roles是:
- QPalette.WindowText
- QPalette.Text
- QPalette.Midlight
- QPalette.Dark
- QPalette.Mid
- QPalette.Shadow
帧宽度可以基于PM_DefaultFrameWidth
像素度量,可以通过以下方式查询:
# within an existing QLineEdit instance
opt = QtWidgets.QStyleOptionFrame()
self.initStyleOption(opt)
border = opt.lineWidth
# without a QLineEdit, from any other widget
style = self.style()
# or from the app
opt = QtWidgets.QStyleOptionFrame()
style = QtWidgets.QApplication.style()
border = style.pixelMetric(QtWidgets.QStyle.PM_DefaultFrameWidth, opt)
但是,如上所述,返回的颜色和值可能不与实际结果一致,也因为样式可能会做一些调整并添加图形效果,可能increase/decrease可见边框宽度并改变其外观。