PyQt5 中 QListWidget 怎么获取 item 中 combox 的当前显示的值?

2016-04-01 23:16:14 +08:00
 CBBing
在 QListWidget 中利用 QListWidgetItem 将每个 item 设置为一个 combox ,一共八个,怎样才能知道当前八个 combox 中的值
12378 次点击
所在节点    Python
11 条回复
RqPS6rhmP3Nyn3Tm
2016-04-02 12:19:37 +08:00
.value 试试
CBBing
2016-04-02 13:19:57 +08:00
@BXIA 不行,虽然不会报错,但还是得不到想要的值
RqPS6rhmP3Nyn3Tm
2016-04-02 14:13:08 +08:00
index = combo.findText(text, QtCore.Qt.MatchFixedString)
if index >= 0:
combo.setCurrentIndex(index)
不知道你要表达的是不是这个意思
CBBing
2016-04-02 14:27:20 +08:00
@BXIA 不,我并不是想要改变 combo 里的值,而是需要知道它改变之后的值,因为想要它们每一个都不一样
CBBing
2016-04-02 14:29:15 +08:00
@BXIA 这是一个 QListWidget ,里面的 item 是通过 QListWidgetItem 添加的
for i in range(8):
item = QtWidgets.QListWidgetItem()
item.setFont(font)
combox=QtWidgets.QComboBox()
combox.setFont(font_combox)
combox.addItems(Port)
combox.setCurrentIndex(i)
self.listWidget.addItem(item)
self.listWidget.setItemWidget(item,combox)
RqPS6rhmP3Nyn3Tm
2016-04-02 14:33:38 +08:00
抱歉,这个就不知道了…
CBBing
2016-04-02 14:37:20 +08:00
@BXIA 还是谢谢你,我在看文档,希望能找到解决方法
CBBing
2016-04-02 15:07:48 +08:00
@BXIA 我成功啦,谢谢你回复我
CBBing
2016-04-02 15:08:29 +08:00
@BXIA
for i in range(8):
combox=self.listWidget.itemWidget(self.listWidget.item(i))
print(combox.currentText())
RqPS6rhmP3Nyn3Tm
2016-04-02 15:29:34 +08:00
原来是 currentText ,的确应该是这样
难得看到一个用 PyQt5 的,不知道你用什么工具打包 standalone package?
CBBing
2016-04-02 19:33:05 +08:00
@BXIA 目前还没写完, IDE 用的 PyCharm ,这只是实验课的课程设计,之前只知道 Qt ,并没有学过,所以来 V2 问

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/268033

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX