답변:
파이썬 콘솔의 경우 :
QgsProject.instance().readPath("./") # also try "../"
또는
dir(QgsProject.instance())
당신은 같은 것을 발견
fileName()
파이썬 플러그인의 경우 (테스트되지 않았습니다!) :
from PyQt4.QtGui import QMessageBox
from qgis.core import QgsProject
path_absolute = QgsProject.instance().readPath("./")
QMessageBox.information(None, "Title", "AP: " + unicode(path_absolute))
벡터 파일 경로에 액세스하려면 활성 레이어에서이 코드가 Python 콘솔에서 잘 작동합니다.
>>>import os
>>>myfilepath= iface.activeLayer().dataProvider().dataSourceUri()
>>>myfilepath
u'/home/zeito/tiznados_canoa.tif'
>>>(myDirectory,nameFile) = os.path.split(myfilepath)
>>>myDirectory
u'/home/zeito'
>>>nameFile
u'tiznados_canoa.tif'
내 'tiznados_canoa.tif'래스터를 활성 레이어로 테스트했습니다.
활성 레이어에서 벡터 파일 경로에 액세스하려면 다음과 같이 작동합니다.
myfilepath= os.path.dirname( unicode( qgis.utils.iface.activeLayer().dataProvider().dataSourceUri() ) ) ;
fic = myfilepath + "[% "FILE" %]"
그런 다음 mylayer와 같은 디렉토리에있는 그림 또는 텍스트를 열려면
from PyQt4 import QtWebKit, QtCore ; vue=QtWebKit.QWebView() vue.setUrl( QtCore.QUrl( fic ) ) ; vue.show()