阴影效果不是 Qt 特定的东西,它是桌面主题特定的东西。阴影取决于您的桌面环境使用的样式/主题。如果您的样式/主题定义了 QComboBox 的阴影,那么 Qt 将非常迅速地绘制它。也就是说,您可能会寻找一种不绘制阴影的样式。我这样做得到的效果是:
cb = QComboBox()
cb.addItems( [ '1', '2', '3', '4', '5', '6' ] )
cb.setStyle( QStyleFactory.create( "Polyester" ) )
cb.setStyleSheet( "QComboBox QAbstractItemView { border: 1 px solid gray; }" )
cb.show()
Run Code Online (Sandbox Code Playgroud)
为此,您必须有一个兼容的主题,例如 列出的聚酯QStyleFactory.keys()。我尝试过时髦的 Breeze 风格和著名的 QtCurve 风格,但它们总是画出阴影。您可以实现相同的使用GTK+和Cleanlooks样式。
仅供参考:聚酯纤维是 KDE 附带的款式之一。
这是上面代码的屏幕截图:
