Lors de l'exécution d'un outil réalisé avec python, il n'y a pas de problème si vous l'appelez depuis la ligne de commande si vous l'avez fait vous-même, mais s'il s'agit d'un outil utilisé par des personnes qui ne sont pas impliquées dans le développement, il vaut mieux pouvoir l'exploiter depuis l'écran C'est pratique. J'ai recherché diverses choses pour voir si je pouvais créer une application avec python et j'ai résumé le contenu que j'avais créé. Ce n'est toujours pas très bien fait, je prévois donc de l'ajuster progressivement.
Il est publié sur github. https://github.com/snowpff14/etcresource/tree/master/pythonGui
Script précédemment créé pour faire fonctionner le site de pratique du sélénium voir ici, script d'ajout de colonne de fichier Excel et de suppression de ligne [voir ici](https: // qiita.com/snowp/items/94f8bb06a08e42af6bba) peut maintenant être démarré.
StringVar ()
comme indiqué ci-dessous.
inputFolder=StringVar()
outputFolder=StringVar()
def openFile(self):
fTyp = [('','*.xlsx')]
iDir = os.path.abspath(os.path.dirname(__file__))
filename = filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir)
return filename
def fileButton(self):
filename= self.openFile()
self.inputFileName.set(filename)
def doExecute(self):
# threading.Lock
thread=threading.Thread(target=self.execute)
thread.start()
def execute(self):
excelFile=pd.ExcelFile(self.inputFileName.get())
reserveSheetTemp=excelFile.parse(sheet_name='Fiche de réservation',dtype='str',header=1)
print(reserveSheetTemp.head())
log=LoggerObj()
driver=webdriver.Chrome('C:/webdrivers/chromedriver.exe')
driver.get('http://example.selenium.jp/reserveApp/')
reserveSheet=reserveSheetTemp.query('Indicateur non valide!= "1"')
testSideOrder=TestSiteOrder(driver,log,'test')
#Entrez les heures de travail
testSideOrder.inputOrder(reserveSheet)
testSideOrder.createOkDialog('Traitement terminé','登録Traitement terminé')
tkinter.TK ()
comme indiqué ci-dessous.root= tkinter.Tk()
def main(self):
root.title("Python GUI")
content = ttk.Frame(root)
frame = ttk.Frame(content, relief="sunken", width=400, height=500)
StringVar
en utilisant text variable
.command
.mainloop ()
. content.grid(column=0, row=0)
title.grid(column=0, row=0, columnspan=4)
fileLabel=ttk.Label(content,text="Informations de réservation")
resultFolderLabel=ttk.Label(content,text="Spécification du dossier")
fileInput=ttk.Entry(content,textvariable=self.inputFileName,width=70)
resultFolderInput=ttk.Entry(content,textvariable=self.outputFolder,width=70)
self.progressMsgBox=ttk.Label(content,textvariable=self.progressMsg,width=70)
self.progressBar=ttk.Progressbar(content,orient=HORIZONTAL,length=140,mode='indeterminate')
self.progressBar.configure(maximum=10,value=0)
fileInputButton=ttk.Button(content, text=BUTTON_LABEL_REFERENCE,command=self.fileButton)
resultDirectoryInputButton=ttk.Button(content, text=BUTTON_LABEL_REFERENCE,command=self.inputResultFolderButton)
executeButton=ttk.Button(content,text='Courir',command=self.doExecute)
fileExecuteButton1=ttk.Button(content,text='Opération de fichier Exécution d'insertion',command=self.fileInsert)
fileExecuteButton2=ttk.Button(content,text='Exécution de suppression d'opération de fichier',command=self.fileDelete)
root.mainloop()
Lorsque vous le démarrez, l'écran suivant s'affiche.
Pour le moment, cette fois-ci Suite créée
Recommended Posts