我一直在研究一個filebrowser應用程序,我希望第一列(文件名)在啓動時正確調整大小。我可以在python提示符下鍵入以下代碼,並且列的大小適當調整,但是當我將它放入文件並嘗試運行它時,列未調整大小。任何想法爲什麼?爲什麼resizeColumnToContents在python提示符下交互工作,但不是在PyQt腳本中?
#!/bin/env python
import sys
import os
from PyQt4.QtGui import *
app = QApplication(sys.argv)
treeView = QTreeView()
fileSystemModel = QFileSystemModel(treeView)
rootDir = fileSystemModel.setRootPath(os.path.expanduser('~'))
treeView.setModel(fileSystemModel)
treeView.setRootIndex(rootDir)
treeView.setGeometry(100,100,1024,768)
treeView.show()
treeView.resizeColumnToContents(0)
app.exec_()
當然,當我將它複製到python提示符時,我離開app.exec_()。那是什麼導致列不能調整大小? (編輯:我複製了「app.exec_()」提示符,它做了你所期望的幾乎 - 事件循環開始,我能夠使用該應用程序,然後關閉它,然後我被返回到python提示符)。
順便說一句,我正在運行RedHat Enterprise Linux 6.4 64位工作站,其中包括Python 2.6.6和Qt 4.6.2 .. –