Buy Me a Coffee? Your support is much appreciated!
PayPal Me: https://www.paypal.me/jiejenn/5
Venmo: @Jie-Jenn
import sys
import os
from PyQt5.QtWidgets import QApplication, QWidget, QComboBox, QPushButton, QFileDialog, QVBoxLayout
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.window_width, self.window_height = 800, 200
self.setMinimumSize(self.window_width, self.window_height)
layout = QVBoxLayout()
self.setLayout(layout)
self.options = ('Get File Name', 'Get File Names', 'Get Folder Dir', 'Save File Name')
self.combo = QComboBox()
self.combo.addItems(self.options)
layout.addWidget(self.combo)
btn = QPushButton('Launch')
btn.clicked.connect(self.launchDialog)
layout.addWidget(btn)
def launchDialog(self):
option = self.options.index(self.combo.currentText())
if option == 0:
response = self.getFileName()
elif option == 1:
response = self.getFileNames()
elif option == 2:
response = self.getDirectory()
elif option == 3:
response = self.getSaveFileName()
else:
print('Got Nothing')
def getFileName(self):
file_filter = 'Data File (*.xlsx *.csv *.dat);; Excel File (*.xlsx *.xls)'
response = QFileDialog.getOpenFileName(
parent=self,
caption='Select a data file',
directory=os.getcwd(),
filter=file_filter,
initialFilter='Excel File (*.xlsx *.xls)'
)
print(response)
return response[0]
def getFileNames(self):
file_filter = 'Data File (*.xlsx *.csv *.dat);; Excel File (*.xlsx *.xls)'
response = QFileDialog.getOpenFileNames(
parent=self,
caption='Select a data file',
directory=os.getcwd(),
filter=file_filter,
initialFilter='Excel File (*.xlsx *.xls)'
)
return response[0]
def getDirectory(self):
response = QFileDialog.getExistingDirectory(
self,
caption='Select a folder'
)
return response
def getSaveFileName(self):
file_filter = 'Data File (*.xlsx *.csv *.dat);; Excel File (*.xlsx *.xls)'
response = QFileDialog.getSaveFileName(
parent=self,
caption='Select a data file',
directory= 'Data File.dat',
filter=file_filter,
initialFilter='Excel File (*.xlsx *.xls)'
)
print(response)
return response[0]
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setStyleSheet('''
QWidget {
font-size: 35px;
}
''')
myApp = MyApp()
myApp.show()
try:
sys.exit(app.exec_())
except SystemExit:
print('Closing Window...')
