2014-04-11 12 views

cevap

12

(veya boş bir dize geçmek) dir argümanı koymazsanız iletişim son dizini hatırlamalıyız: tr fonksiyonu kullanıcıların görebileceği dizeleri tercüme için kullanılan

filename = QtGui.QFileDialog.getOpenFileName(
       parent, 'Open File', '', 'Images (*.png *.xpm *.jpg)') 

. Başvurunuz için hiç çeviri sunmuyorsanız, bunu ihmal edebilirsiniz.

DÜZENLEME:

başlangıç ​​dizini otomatik yerli iletişim kutusunu kullanın ya da olmasın bağlı olarak tüm platformlar/masaüstü hatırlanacak olmayabilir görünüyor. QT'nin yerleşik iletişim kutusu kullanılırsa, başlangıç ​​dizini her zaman tüm platformlarda otomatik olarak düzeltilmelidir (uygulamanın çağrılmaları arasında bile).

filename = QtGui.QFileDialog.getOpenFileName(
       parent, 'Open File', '', 'Images (*.png *.xpm *.jpg)', 
       None, QtGui.QFileDialog.DontUseNativeDialog) 

Alternatif olarak, hep bir yerel olmayan iletişim yaratacak QFileDialog constructor kullanabilirsiniz: yerli olmayan iletişim denemek için seni mi

dialog = QtGui.QFileDialog(parent) 
dialog.setWindowTitle('Open File') 
dialog.setNameFilter('Images (*.png *.xpm *.jpg)') 
dialog.setFileMode(QtGui.QFileDialog.ExistingFile) 
if dialog.exec_() == QtGui.QDialog.Accepted: 
    filename = dialog.selectedFiles()[0] 
+0

Teşekkür cevap, ancak çalışmıyor Bu bana verir: TypeError: QFileDialog.getOpenFileName() argüman 3 geçersiz bir türü vardır. PyQt4 kullanıyorum, unutma. –

+0

@liaozd. Üzgünüz, 'Yok 'sadece Python3 ile çalışacaktır - bunun yerine boş bir dize kullanın (hem Python2 hem de Python3 ile çalışır). – ekhumoro

+0

evet, CentOS6.4'ümde python2.7 ve PyQt4 kullanıyorum, ancak boş dize yolu benim için çalışmıyor gibi görünüyor, her zaman python komut dizini klasörünü varsayılan konum olarak açıyor. –