Как убрать прокрутку элемента QComboBox?
main.py:
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_())
Но когда я навожу курсор мышки на место, которое указано красной стрелкой, то список начинает сам прокручиваться:
если из стиля QComboBox
QComboBox QAbstractItemView {
padding: 5px;
border: 2px solid rgb(0, 0, 0);
}
убрать эти две строчки, то эта прокрутка пропадает. Но мне нужно сохранить эти два стиля
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
autoScroll : bool
Это свойство определяет, включена ли автопрокрутка.
Если для этого свойства установлено значение True (по умолчанию),
QAbstractItemViewавтоматически прокручивает содержимое представления.Автопрокрутка отключается установкой этого свойства в False.
import sys
from PyQt5.Qt import *
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.comboBox = QComboBox(self)
self.comboBox.setStyleSheet('''
QComboBox QAbstractItemView {
padding: 5px;
border: 2px solid rgb(222, 0, 0);
}
''')
self.comboBox.addItem("1")
self.comboBox.addItem("2")
self.comboBox.addItem("3")
self.comboBox.addItem("11")
self.comboBox.addItem("12")
self.comboBox.addItem("13")
self.comboBox.addItem("21")
self.comboBox.addItem("22")
self.comboBox.addItem("23")
self.comboBox.addItem("31")
self.comboBox.addItem("32")
self.comboBox.addItem("33")
self.comboBox.addItem("41")
self.comboBox.addItem("42")
self.comboBox.addItem("43")
self.comboBox.addItem("51")
self.comboBox.addItem("52")
self.comboBox.addItem("53")
self.comboBox.addItem("61")
self.comboBox.addItem("62")
self.comboBox.addItem("63")
self.comboBox.view().setAutoScroll(False) # !!! +++
if __name__ == "__main__":
app = QApplication(sys.argv)
w = MainWindow()
w.resize(200, 400)
w.show()
sys.exit(app.exec_())


