PyQtでローカルピクチャまたはドキュメントを開き、同じコントロールに表示する
883 ワード
アイデア:QFileDialogを使用してファイルセレクタを開き、osを通過します.path方式はファイルの接尾辞名を判断し、接尾辞名がピクチャの接尾辞名である場合、Qpixmap方式を使用してピクチャを開き、setPixmapで表示する.接尾辞名が画像接尾辞名でない場合はread関数で画像を開きsetTextで文字を表示します
def getFiles(self):
# QFileDialog
dlg=QFileDialog()
#
dlg.setFileMode(QFileDialog.AnyFile)
#
dlg.setFilter(QDir.Files)
if dlg.exec_():
# ,
filenames=dlg.selectedFiles()
f=open(filenames[0],'r')
# , Pixmap
if (os.path.splitext(filenames[0])[-1] == ".png"):
png = QtGui.QPixmap(filenames[0]).scaled(self.label.width(), self.label.height())
self.label.setPixmap(png)
else:
with f:
data=f.read()
self.label.setText(data)