gpt4 book ai didi

Python PyQt 更改组合框的布局

转载 作者:行者123 更新时间:2023-12-01 01:23:05 24 4
gpt4 key购买 nike

有没有办法(或者我可以使用不同的小部件(我找不到任何),以便我可以使我的组合框看起来像图片中的组合框?

图片显示了我想要添加的字体。我希望这些选项成为我的字体列表。 enter image description here

我想查看所有选项(如果有太多选项无法滚动)并选择一个。

这是迄今为止我的代码:

from PyQt5 import QtCore, QtWidgets
import sys
from PyQt5 import QtGui, QtWidgets, QtPrintSupport


class Thired(QtWidgets.QDialog):
def __init__(self, parent=None):
super(Thired, self).__init__(parent)

self.bb = QtWidgets.QComboBox(self)
self.bb.setGeometry(QtCore.QRect(212, 50, 400, 25))
self.bb.setEditable(True)

bpas = ['a','b','c']

self.bb.addItem("")
self.bb.setItemText(0, "")
for bpa in bpas:
self.bb.addItem(bpa)

self.bb.move(50, 200)
self.bb.activated[str].connect(self.style_choice)

def font_choice(self):
font, valid = QtWidgets.QFontDialog.getFont()
if valid:
self.styleChoice.setFont(font)

def style_choice(self, text):
self.styleChoice.setText(text)
QtWidgets.QApplication.setStyle(QtWidgets.QStyleFactory.create(text))

if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
gui = Thired()
gui.show()
app.exec_()

编辑:

我希望当窗口打开时我所有的选项总是被显示。这样我就不必按下拉箭头。换句话说:如果窗口正在打开,则有一个 bpa 列表,我希望能够从列表中选择 bpa/选项之一,并发送一个信号表明我选择了该 bpa。

为了进一步解释一下自己(这没有在代码中的任何地方显示):bpas = ['a','b','c'] 是项目,我想要用户选择其中之一,选择后程序将加载其连接的数据库。使用下拉菜单它可以工作,但我不喜欢 dorpdown 看起来有很多选项的方式:)

最佳答案

您可以将 QListWidget 与 QLineEdit 一起使用:

from PyQt5 import QtCore, QtWidgets
import string

class Thired(QtWidgets.QDialog):
def __init__(self, parent=None):
super(Thired, self).__init__(parent)

self.line_edit = QtWidgets.QLineEdit()
self.list_widget = QtWidgets.QListWidget()
options = list(string.ascii_letters)
self.list_widget.addItems(options)
self.list_widget.itemClicked.connect(self.on_itemClicked)

lay = QtWidgets.QVBoxLayout(self)
lay.addWidget(self.line_edit)
lay.addWidget(self.list_widget)
self.resize(640, 480)

@QtCore.pyqtSlot(QtWidgets.QListWidgetItem)
def on_itemClicked(self, item):
self.line_edit.setText(item.text())

if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
gui = Thired()
gui.show()
sys.exit(app.exec_())

enter image description here

关于Python PyQt 更改组合框的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53607596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com