python – QTableWidget整数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – QTableWidget整数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1850字,纯文字阅读大概需要3分钟。
内容图文
![python – QTableWidget整数](/upload/InfoBanner/zyjiaocheng/707/a2e0e2a62acb445f9a43d09e7a3cb160.jpg)
我试图在我的QTableWidget中插入和显示整数.它们不显示.它可以工作,如果我将所有内容转换为字符串,但我不能用数字排序列 – 只有词法(1,10,100等).这是使用PyQt.
我已经尝试了一些建议的解决方案,使用QTableWidgetItem.setData(someRole,intValue),然后在所有显示中都没有.我试过,Qt.UserRole,DisplayRole和Edit Role. (我不明白为什么需要这些角色来显示整数,但只是按照例子).我的具体代码是:
item = QTableWidgetItem()
item.setData = (Qt.DisplayRole,intValue)
myTable.setItem(row, column, item)
以下代码有效,但仅适用于字符串:
item = QTableWidgetItem(str(intValue))
myTable.setItem(row, column, item)
此外,回读数据的建议,只显示对象位置,而不是实际数据.例如,使用Eric作为解释器shell:
item.data(Qt.DisplayRole)
响应:PyQt4.QtCore.QVariant对象位于0x1f01fa60
或这个:
item.data(Qt.EditRole).数据()
响应:sip.voidptr对象位于0x1e904a80
任何见解都表示赞赏.
解决方法:
你走在正确的轨道上.您的代码不起作用,因为您没有调用QTableWidgetItem的setData()函数,而是尝试为其赋值.你有
item.setData = (Qt.DisplayRole,intValue)
代替
item.setData(Qt.DisplayRole,intValue)
此外,当读取数据时,它不仅仅是显示的位置,而是数据本身为QVariant.您应该发现item.data(Qt.DisplayRole).toString()将通过转换QVariant将您的数据作为字符串返回(通过其.toString()方法).
这是一个快速工作的例子,仅用于演示:
import sys
from PyQt4.QtGui import QApplication, QWidget, QTableWidget, QTableWidgetItem, QVBoxLayout
from PyQt4.QtCore import Qt
class Widget(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.widget_layout = QVBoxLayout()
self.table_widget = QTableWidget(101, 1)
self.table_widget.setSortingEnabled(True)
self.widget_layout.addWidget(self.table_widget)
self.setLayout(self.widget_layout)
for num in xrange(101):
item = QTableWidgetItem()
item.setData(Qt.EditRole, num)
self.table_widget.setItem(num, 0, item)
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = Widget()
widget.show()
sys.exit(app.exec_())
内容总结
以上是互联网集市为您收集整理的python – QTableWidget整数全部内容,希望文章能够帮你解决python – QTableWidget整数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。