如何从 QComboBox 的弹出窗口中删除白色背景(在顶部和底部)?
How to remove white background (on top and bottom) from popup of QComboBox?
我正在使用 qt5 和 pyqt5 创建一个 GUI 应用程序。
我正在尝试创建一个深色主题,但我遇到了 QComboBox 的问题。
当我试图在 QListView 上制作深色背景时,我在列表的顶部和底部得到一个白色边框或任何名称。
我尝试了很多方法,比如 padding 或 marge 改变值但没有任何帮助
我试过这里已经提到的东西
Remove QListView background
但总是一样。
QComboBox {
font: 12pt Fira Sans Condensed;
background-color: #2e2e2e;
border-top: 0px solid #3e3e3e;
border-left: 0px solid #3e3e3e;
border-right: 0px solid #3e3e3e;
border-bottom: 2px solid #3e3e3e;
padding: 5%;
max-height: 30px;
min-width: 140px;
color: white;
selection-background-color: #5e5e5e;
}
QComboBox::drop-down {
border: none;
}
QComboBox::down-arrow {
image: url(icons/QComboBox/down-arrow.png);
width: 25px;
height: 25px;
border-width: 0px;
padding-right: 10px;
}
QComboBox::down-arrow:pressed {
position: relative;
top: 1px; left: 1px;
}
QListView {
font: 12pt Fira Sans Condensed;
background-color: #2e2e2e;
outline: 0;
color: white;
selection-background-color: #5e5e5e;
}
QListView::item {
min-height: 20px;
padding: 5%;
}
self.list = QtWidgets.QListView(self.window.comboBox)
self.window.comboBox.addItem("test1")
self.window.comboBox.addItem("test2")
self.window.comboBox.setView(self.list)
这是我得到的
添加我希望列表顶部和底部没有白色的东西
您必须直接在 view()
的父级 QFrame 中设置颜色:
self.window.comboBox.view().parentWidget().setStyleSheet('background-color: #2e2e2e;')
我正在使用 qt5 和 pyqt5 创建一个 GUI 应用程序。 我正在尝试创建一个深色主题,但我遇到了 QComboBox 的问题。 当我试图在 QListView 上制作深色背景时,我在列表的顶部和底部得到一个白色边框或任何名称。
我尝试了很多方法,比如 padding 或 marge 改变值但没有任何帮助 我试过这里已经提到的东西 Remove QListView background 但总是一样。
QComboBox {
font: 12pt Fira Sans Condensed;
background-color: #2e2e2e;
border-top: 0px solid #3e3e3e;
border-left: 0px solid #3e3e3e;
border-right: 0px solid #3e3e3e;
border-bottom: 2px solid #3e3e3e;
padding: 5%;
max-height: 30px;
min-width: 140px;
color: white;
selection-background-color: #5e5e5e;
}
QComboBox::drop-down {
border: none;
}
QComboBox::down-arrow {
image: url(icons/QComboBox/down-arrow.png);
width: 25px;
height: 25px;
border-width: 0px;
padding-right: 10px;
}
QComboBox::down-arrow:pressed {
position: relative;
top: 1px; left: 1px;
}
QListView {
font: 12pt Fira Sans Condensed;
background-color: #2e2e2e;
outline: 0;
color: white;
selection-background-color: #5e5e5e;
}
QListView::item {
min-height: 20px;
padding: 5%;
}
self.list = QtWidgets.QListView(self.window.comboBox)
self.window.comboBox.addItem("test1")
self.window.comboBox.addItem("test2")
self.window.comboBox.setView(self.list)
这是我得到的
添加我希望列表顶部和底部没有白色的东西
您必须直接在 view()
的父级 QFrame 中设置颜色:
self.window.comboBox.view().parentWidget().setStyleSheet('background-color: #2e2e2e;')