开发者社区> 问答> 正文

如何从QComboBox的弹出窗口中删除白色背景(在顶部和底部)?

我正在用qt5和pyqt5创建一个GUI应用程序。我正在尝试创建一个黑暗的主题,但我遇到了QComboBox的问题。当我试图在QListView上创建一个黑色背景时,我得到一个白色边框或其顶部和列表底部的名称。

我尝试了很多方法,比如padding或marge更改值,但没有任何帮助我尝试了这里已经提到的东西 删除QListView背景 但总是一样的。

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)
这是我得到的
Screenshot_2019_01_22_20_19_41
Screenshot_2019_01_22_20_20_08

展开
收起
一码平川MACHEL 2019-01-23 13:31:00 2602 0
1 条回答
写回答
取消 提交回答
  • 您必须在QFrame中设置view()直接的父级颜色:

    self.window.comboBox.view().parentWidget().setStyleSheet('background-color: #2e2e2e;')

    2019-07-17 23:26:34
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载