【问题标题】:How to reduce the size of a QComboBox with PyQt?如何使用 PyQt 减小 QComboBox 的大小?
【发布时间】:2019-09-03 22:26:29
【问题描述】:

我用 PyQt 创建了一个小程序,在其中放置了一个 QComboBox,但这个只包含 2 个字母的列表。程序窗口很小,为了节省空间,我想减小 QComboBox 的宽度。

这就是现在的样子。宽度过大。

我搜索了互联网,但经过很长时间的搜索,我仍然没有找到任何东西。如果您有任何想法,请提前感谢您。

【问题讨论】:

    标签: python pyqt qcombobox


    【解决方案1】:

    有几种方法可以调整小部件的大小。假设QComboBox 定义为:

    combo = QComboBox(self)
    

    一种方法是使用QWidget.resize(width, height)

    combo.resize(200,100)
    

    要自动获取合适的大小,可以使用QWidget.sizeHint()sizePolicy()

    combo.resize(combo.sizeHint())
    

    如果要设置固定大小,可以使用setFixedSize(width, height)setFixedWidth(width)setFixedHeight(height)

    combo.setFixedSize(400,100)
    combo.setFixedWidth(400)
    combo.setFixedHeight(100)
    

    这是一个例子:

    from PyQt5.QtWidgets import (QWidget, QLabel, QComboBox, QApplication)
    import sys
    
    class ComboboxExample(QWidget):
        def __init__(self):
            super().__init__()
    
            self.label = QLabel("Ubuntu", self)
    
            self.combo = QComboBox(self)
            self.combo.resize(200,25)
            # self.combo.resize(self.combo.sizeHint())
            # self.combo.setFixedWidth(400)
            # self.combo.setFixedHeight(100)
            # self.combo.setFixedSize(400,100)
            self.combo.addItem("Ubuntu")
            self.combo.addItem("Mandriva")
            self.combo.addItem("Fedora")
            self.combo.addItem("Arch")
            self.combo.addItem("Gentoo")
    
            self.combo.move(25, 25)
            self.label.move(25, 75)
    
            self.combo.activated[str].connect(self.onActivated)        
    
            # self.setGeometry(0, 0, 500, 125)
            self.setWindowTitle('QComboBox Example')
            self.show()
    
        def onActivated(self, text):
            self.label.setText(text)
            self.label.adjustSize()  
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        ex = ComboboxExample()
        sys.exit(app.exec_())
    

    【讨论】:

      猜你喜欢
      • 2017-08-11
      • 2010-12-09
      • 2021-04-06
      • 1970-01-01
      • 2022-11-10
      • 2021-10-26
      • 2011-09-03
      • 2016-01-17
      • 2011-09-09
      相关资源
      最近更新 更多