Я учил себя, как использовать python
и PyQt5
для создания пользовательского интерфейса.Стиль Fusion
выглядел очень хорошо, но я заметил, что когда я применяю этот стиль к приложению, команда QComboBox
setMaxVisibleItems
больше не работает.Вместо этого в стиле fusion QComboBox
отображаются все элементы одновременно (или столько элементов, сколько позволяет размер экрана), даже если применяется setMaxVisibleItems
.
Я подумал, что, возможно, я использовал команду неправильно, поэтомуЯ удалил стиль слияния и попытался установить максимальное количество видимых элементов с несколькими различными значениями.Каждый работал нормально, так что я уверен, что это стиль фьюжн.Есть ли способ изменить стиль фьюжн или заставить его применить setMaxVisibleItems
?Ниже приведен пример кода для него.
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QComboBox, QPushButton
class Example(QMainWindow):
def __init__(self):
super().__init__()
combo = QComboBox(self)
counter = 1
while (counter < 21):
combo.addItem(str(counter))
counter = counter + 1
combo.setMaxVisibleItems(5)
combo.move(50, 50)
self.qlabel = QLabel(self)
self.qlabel.move(50,16)
combo.activated[str].connect(self.onChanged)
self.setGeometry(50,50,320,200)
self.setWindowTitle("QLineEdit Example")
self.show()
def onChanged(self, text):
self.qlabel.setText(text)
self.qlabel.adjustSize()
if __name__ == '__main__':
app = QApplication(sys.argv)
#app.setStyle("fusion")
ex = Example()
sys.exit(app.exec_())
Применение стиля fusion
означает, что приложение отображает все 20 элементов одновременно.Комментирование стиля фьюжн означает, что приложение отображает 5 элементов одновременно.