繁体   English   中英

如何删除 QComboBox 元素的滚动?

[英]how to remove scrolling of the QComboBox element?

这是我的代码

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QBrush, QColor
import sys


class Ui_MainWindow(QMainWindow):
def __init__(self):
super().__init__()

self.comboBox = QComboBox(self)
self.comboBox.setStyleSheet('''
QComboBox QAbstractItemView {
padding: 5px;
border: 2px solid rgb(0, 0, 0);
}''')


self.comboBox.addItem("1")
self.comboBox.addItem("2")
self.comboBox.addItem("3")
self.comboBox.addItem("1")
self.comboBox.addItem("2")
self.comboBox.addItem("3")
self.comboBox.addItem("1")
self.comboBox.addItem("2")
self.comboBox.addItem("3")
self.comboBox.addItem("1")
self.comboBox.addItem("2")
self.comboBox.addItem("3")
self.comboBox.addItem("1")
self.comboBox.addItem("2")
self.comboBox.addItem("3")
self.comboBox.addItem("1")
self.comboBox.addItem("2")
self.comboBox.addItem("3")
self.comboBox.addItem("1")
self.comboBox.addItem("2")
self.comboBox.addItem("3")


if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
MainWindow = Ui_MainWindow()
MainWindow.show()
sys.exit(app.exec_())

在此处输入图像描述

但是当我 hover 鼠标 cursor 在红色箭头指示的位置上时,列表开始自行滚动

在此处输入图像描述

如果来自 QComboBox 样式

QComboBox QAbstractItemView {
padding: 5px;
border: 2px solid rgb(0, 0, 0);
}

删除这两行,然后此滚动消失。 但是我需要保留这两个styles

可以通过 设置视图的自动滚动属性来关闭滚动行为:

self.comboBox.view().setAutoScroll(False)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM