问题描述
个人在PyQt开发过程中遇到一个问题,就是需要将一个按钮改成下拉框,按钮文本显示是居中的,所以下拉框显示文本应该也要居中,由于对PyQt5的开发文档并没有做到烂熟于心,所以陷入困顿,网上搜了一下,并没有找到十分优质的解决方案,仅有一个比较相关,先附上链接,这并非我想要的方法,而且写法比较麻烦。
个人解决方法
直接上代码了:
self.left_button_4_0 = QComboBox() #1
items = ['文本1', '文本2', '文本3', '文本4'] #2
self.left_button_4_0.addItems(items) #3
# 以下代码将下拉框空间文本居中设置
self.left_button_4_0.setEditable(True) #4
self.ledit = self.left_button_4_0.lineEdit() #5
self.ledit.setAlignment(Qt.AlignCenter) #6
简单解释:
- 第1行代码,首先实例化一个下拉框控件(忽略我的命名,这是历史遗留问题);
- 第2、3行代码,为下拉框控件添加下拉内容;
- 第4行代码,将下拉框控件的状态设置为可修改;
- 第5行代码,为下拉控件定义一个文本行编辑变量;
- 第6行代码,将变量设置为文本居中,Qt是PyQt5.QtCore中的一个方法。
看看显示结果:
可以看到,下拉框中的文本已经居中了,但下拉列表中的内容并没有居中,如果想全部居中,可以参考上面放的链接去修改。