首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >QtPython Qtreewidget问题

QtPython Qtreewidget问题
EN

Stack Overflow用户
提问于 2009-11-17 07:51:05
回答 2查看 2.4K关注 0票数 0

我试着做一个Qtreewidget来参加一个客户的设计建议。我在QtPython上对它进行编码。我使用Qt设计器做了第一次尝试,然后生成了代码。但是当我尝试运行它时,出现了一个错误:

代码语言:javascript
运行
复制
self.centralwidget.setSortingEnabled(__sortingEnabled)
AttributeError: setSortingEnabled

我用谷歌搜索了一下,但没有找到任何解决这个问题的方法,除了一些简单地删除代码中导致编译错误的代码行的建议。但这并没有真正的帮助,因为如果你这样做,它会触发更多的错误,就像这样:

代码语言:javascript
运行
复制
self.treeWidget.topLevelItem(0).child(1).setText(0, QtGui.QApplication.translate("MainWindow", "Item Name", None, QtGui.QApplication.UnicodeUTF8))
AttributeError: 'NoneType' object has no attribute 'setText'

下面是我生成一个很好的简单QtreeWidget/View的当前代码:

代码语言:javascript
运行
复制
#//==========================//#
def color_setupUi(self, MainWindow,phrase):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.eqpt_centralwdg(MainWindow)
self.eqpt_retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
#//==========================//#
def eqpt_centralwdg(self,MainWindow):
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")

self.colorTreeWidget = QtGui.QTreeWidget(self.centralwidget)
self.colorTreeWidget.setGeometry(QtCore.QRect(60, 60, 191, 141))
self.colorTreeWidget.setObjectName("colorTreeWidget")

item = QtGui.QTreeWidgetItem(self.colorTreeWidget)
item = QtGui.QTreeWidgetItem(self.colorTreeWidget)

self.centralwidget.setSortingEnabled(__sortingEnabled)
MainWindow.setCentralWidget(self.centralwidget)
#//==========================//#
def eqpt_retranslateUi(self, MainWindow):

MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8)

self.colorTreeWidget.headerItem().setText(0, QtGui.QApplication.translate("MainWindow", "color", None, QtGui.QApplication.UnicodeUTF8)
__sortingEnabled = self.colorTreeWidget.isSortingEnabled()
self.colorTreeWidget.setSortingEnabled(False)
self.colorTreeWidget.topLevelItem(0).setText(0, QtGui.QApplication.translate("MainWindow", "Yellow", None, QtGui.QApplication.UnicodeUTF8)
self.colorTreeWidget.topLevelItem(1).setText(0, QtGui.QApplication.translate("MainWindow", "Blue", None, QtGui.QApplication.UnicodeUTF8)
self.colorTreeWidget.setSortingEnabled(__sortingEnabled)
#//==========================//#

到目前为止,我需要使用Designer和一些代码在Qt上实现的所有其他对象都工作得很好,例如inputLine、comboBox、TabWidget。我被这个TreeWidget错误卡住了。

任何提示或建议都会受到高度赞赏和欢迎。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-17 08:21:01

我假设您发布的代码就是您通过pyuic4运行UI文件时获得的代码。我发现PyQt UI编译器有时会出现错误。您所能做的就是手动修复输出并向供应商投诉。

在您的例子中,这行代码

代码语言:javascript
运行
复制
self.centralwidget.setSortingEnabled(__sortingEnabled) 

应该阅读

代码语言:javascript
运行
复制
self.colorTreeWidget.setSortingEnabled(__sortingEnabled) 

我不明白AttributeError: 'NoneType' object has no attribute 'setText'是从哪里来的。您在下面的代码中没有引用self.treeWidget.topLevelItem(0)

由于UI看起来还不太复杂,因此在QT设计器中重新从头开始可能是值得的。尽量避免剪切和粘贴控件,以免混淆设计器/ pyuic4。祝好运!

票数 2
EN

Stack Overflow用户

发布于 2009-11-17 10:53:24

以下是解决方案:

仅对以下行执行

  1. delete/comment命令: self.centralwidget.setSortingEnabled(__sortingEnabled)

然后编写代码:

代码语言:javascript
运行
复制
def eqpt_centralwdg(self,MainWindow):
  self.centralwidget = QtGui.QWidget(MainWindow)
  self.centralwidget.setObjectName("centralwidget")

  self.colorTreeWidget = QtGui.QTreeWidget(self.centralwidget)
  self.colorTreeWidget.setGeometry(QtCore.QRect(60, 60, 191, 141))
  self.colorTreeWidget.setObjectName("colorTreeWidget")

  item = QtGui.QTreeWidgetItem(self.colorTreeWidget)
  item = QtGui.QTreeWidgetItem(self.colorTreeWidget)         

  self.connect(self.colorTreeWidget, QtCore.SIGNAL('itemClicked(QTreeWidgetItem*, int)'), self.eqpt_activateInput)

  MainWindow.setCentralWidget(self.centralwidget)  

和输出

代码语言:javascript
运行
复制
def eqpt_activateInput(self,item,col):
  print "Qtree ok! pressed"
  print item.text(col)      

希望这也能帮助到其他人。ThreaderSlash“在gmail . com上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1745661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档