''
ถ้าหากกด ok จะได้เป็นค่า filter ซึ่งถ้าหากไม่ได้ตั้ง filter ไว้จะได้เป็น 'All Files (*)'
สำหรับเรื่อง filter จะเขียนถึงภายหลังimport sys
from PyQt5.QtWidgets import QApplication,QWidget,QFileDialog,QLabel
qAp = QApplication(sys.argv)
natang = QWidget()
natang.setStyleSheet('font-family: Tahoma; font-size: 17px')
chuefile,ok = QFileDialog.getOpenFileName(natang)
# ได้ชื่อไฟล์มา นำมาเปิดด้วย open ได้
with open(chuefile,encoding='utf-8') as f:
nueaha = f.read() # อ่านเนื้อหาในไฟล์
if(ok and nueaha!=''): # ถ้าไม่ได้กด cancel และเนื้อหาในไฟล์ไม่ว่างเปล่า
khokhwam = QLabel('%d ตัวอักษร\n%d บรรทัด'%(len(nueaha),len(nueaha.split('\n'))),natang)
else:
khokhwam = QLabel('ไม่มีข้อความ',natang)
khokhwam.setGeometry(10,10,150,70)
natang.show()
qAp.exec_()
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QFileDialog,QLabel,QScrollArea
qAp = QApplication(sys.argv)
natang = QWidget()
lis_file,ok = QFileDialog.getOpenFileNames(natang)
print(lis_file)
if(ok): # ถ้ากด ok จึงให้อ่านไฟล์
ss = ''
for i,s in enumerate(lis_file,1): # ไล่ใส่ชื่อทีละไฟล์
ss += '%d. ~ '%i+s+'\n'
ss = ss.strip()
khokhwam = QLabel(ss,natang)
thiluean = QScrollArea(natang)
thiluean.setWidget(khokhwam)
thiluean.setGeometry(300,250)
natang.show()
qAp.exec_()
filter='*.สกุล'
แบบนี้import sys
from PyQt5.QtWidgets import QApplication,QWidget,QFileDialog,QLabel,QVBoxLayout
qAp = QApplication(sys.argv)
natang = QWidget()
natang.setStyleSheet('font-family: Tahoma; font-size: 18px')
vbl = QVBoxLayout()
natang.setLayout(vbl)
lis_file,ok = QFileDialog.getOpenFileNames(natang,filter='*.html')
print(ok) # ถ้ากด ok จะได้ *.html ถ้ากด cancel จะว่างเปล่า ''
if(ok):
for chuefile in lis_file:
vbl.addWidget(QLabel(chuefile))
else:
vbl.addWidget(QLabel('ไม่มีไฟล์'))
natang.show()
qAp.exec_()
''
import sys,os
from PyQt5.QtWidgets import QApplication,QWidget,QFileDialog,QLabel,QScrollArea
qAp = QApplication(sys.argv)
natang = QWidget()
chuefolder = QFileDialog.getExistingDirectory(natang) # เอาชื่อโฟลเดอร์
print(chuefolder)
lis_file = os.listdir(chuefolder) # ค้นดูชื่อไฟล์ในโฟลเดอร์นั้น
print(lis_file) # แสดงชื่อไฟล์ทั้งหมดในนั้น
khokhwam = QLabel(chuefolder+'\n'+'\n'.join(lis_file),natang)
thiluean = QScrollArea(natang)
thiluean.setWidget(khokhwam)
thiluean.setGeometry(10,10,200,200)
natang.show()
qAp.exec_()
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QFileDialog,QLineEdit,QPushButton,QVBoxLayout
qAp = QApplication(sys.argv)
natang = QWidget()
natang.setStyleSheet('font-family: Tahoma; font-size: 18px')
# ฟังก์ชันนี้ให้ทำงานเมื่อกดปุ่มบันทึก จะบันทึกข้อความที่ใส่ลงในไฟล์ชื่อที่เลือก
def banthuek():
chuefile,ok = QFileDialog.getSaveFileName(natang,filter='*.txt')
if(ok):
print(chuefile)
with open(chuefile,'w',encoding='utf-8') as f:
f.write(khokhwam.text())
vbl = QVBoxLayout()
natang.setLayout(vbl)
khokhwam = QLineEdit()
vbl.addWidget(khokhwam)
pum = QPushButton('บันทึก')
pum.clicked.connect(banthuek)
vbl.addWidget(pum)
natang.show()
qAp.exec_()
ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ