Faire exucuter un fichier.py python à partir d'un menu principal
Fermé
Foutha02
Messages postés1Date d'inscriptionmercredi 15 avril 2020StatutMembreDernière intervention15 avril 2020
-
Modifié le 15 avril 2020 à 16:57
tarneo23
Messages postés58Date d'inscriptionmercredi 6 mai 2020StatutMembreDernière intervention24 mai 2020
-
21 mai 2020 à 15:08
Bonjour,
j'ai créer un programme principal main qui contient un menu principal et je n'arrive pas lancer les autres modules à partir du menu principal, sachant que j'ai utiliser les modules de PYQT5
prière de me assister pour régler ce pbm.
Configuration: Windows / Chrome 81.0.4044.92
######### Main Menu###########import sys
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction
#import Fiche_Client#from fubonacci import fubonnaci_SuiteclassWindow(QMainWindow):def__init__(self):super().__init__()
self.initWind()definitWind(self):
self.setWindowIcon(QtGui.QIcon("tux.png"))
self.setWindowTitle("Logiciel Suiv des Crédits")
self.setGeometry(100,100,1000,600)
self.menuPrincipal()
self.show()######## Creation d'un Menu Principal du LogicieldefmenuPrincipal(self):
mainMenu = self.menuBar()
fichier = mainMenu.addMenu("Fichier")
trt = mainMenu.addMenu("Traitement des Credits")
ed = mainMenu.addMenu("Edition")
out = mainMenu.addMenu("Outils")###########################
cli =QAction("Client", self)
art =QAction("Articles", self)
quit =QAction("Quitter", self)
fichier.addAction(cli)
fichier.addAction(art)
fichier.addAction(quit)
quit.triggered.connect(self.close)
cli.triggered.connect(self.Client)##art.triggered.connect(fubonnaci_Suite)#############################
vent =QAction("Ventes", self)
vers =QAction("Versements ", self)
trt.addAction(vent)
trt.addAction(vers)#############################
regSuiv =QAction("Registre Suivi Crédit", self)
factimpay =QAction("Etat des Factures Impayées", self)
soldGlob =QAction("Etat Global Solde Client", self)
ed.addAction(regSuiv)
ed.addAction(factimpay)
ed.addAction(soldGlob)##############################
ent =QAction("Mise a jour Entete", self)
pw =QAction("Changer le Mot de Passe", self)
out.addAction(ent)
out.addAction(pw)################################defClient(self):#???????? comment faire ?
app =QApplication(sys.argv)
wind =Window()
sys.exit(app.exec_())########################################################################## Module Fichier Client from PyQt5.QtWidgets import QWidget, QGroupBox, QHBoxLayout, QApplication, QLabel, QLineEdit, QGridLayout, QTableWidget,\
QTableWidgetItem, QVBoxLayout, QPushButton,QMessageBox
from PyQt5.QtGui import QFont
import sqlite3
import sys
classWin_Client(QWidget):def__init__(self):super().__init__()
self.InitWind()
self.show()defInitWind(self):
self.setGeometry(400,300,800,600)
self.setWindowTitle("Fichier Client")
self.fich_Cli()deffich_Cli(self):
glob =QGroupBox()
group1 =QGroupBox("Fichier Client :")
self.group2 =QGroupBox("Table Client :")
vbox =QVBoxLayout()
vbox.addWidget(group1)
vbox.addWidget(self.group2)
glob.setLayout(vbox)
grid =QGridLayout()
lab1 =QLabel("Code Client", self)
lab2 =QLabel("Raison Social :", self)
lab3 =QLabel("Adresse : ", self)
self.cod =QLineEdit(self)
self.rais =QLineEdit(self)
self.rais.setFont(QFont('Arial',12))
self.cod.setEnabled(False)
self.adres =QLineEdit(self)
but1 =QPushButton("Valider", self)
self.but2 =QPushButton('Suprimer ', self)
but3 =QPushButton('Fermer', self)
grid.addWidget(lab1,0,0)
grid.addWidget(lab2,1,0)
grid.addWidget(lab3,2,0)
grid.addWidget(self.cod,0,1)
grid.addWidget(self.rais,1,1)
grid.addWidget(self.adres,2,1)
grid.addWidget(but1,0,2)
grid.addWidget(self.but2,1,2)
grid.addWidget(but3,2,2)
group1.setLayout(grid)
self.table =QTableWidget()
self.table.setColumnCount(4)
self.table.setHorizontalHeaderLabels(("Code,Rais_Soc,Adresse,Solde").split(','))
self.table.cellClicked.connect(self.clic)
vbox =QVBoxLayout()
vbox.addWidget(self.table)
self.group2.setLayout(vbox)
hbox =QHBoxLayout()
hbox.addWidget(glob)
self.setLayout(hbox)
self.attrib_Cod()
self.Charger_La_Base()
but1.clicked.connect(self.Valider)
but3.clicked.connect(self.close)
self.but2.clicked.connect(self.Supprimer)
self.but2.setEnabled(False)defCharger_La_Base(self):
connection = sqlite3.connect("credit.db")
cursor = connection.cursor()
req = cursor.execute("SELECT * FROM client ORDER BY code")
self.table.setRowCount(0)try:for row_number, row_data inenumerate(req):
self.table.insertRow(row_number)for column_number, data inenumerate(row_data):
self.table.setItem(row_number, column_number,QTableWidgetItem(str(data)))
self.attrib_Cod()except Exception as e:print("[ERREUR :]", e)
connection.rollback()finally:
connection.close()defattrib_Cod(self):
connection = sqlite3.connect("credit.db")
cursor = connection.cursor()
req = cursor.execute("SELECT * FROM client ORDER BY code")
row = req.fetchall()
reccount =len(row)if reccount >0:
req = cursor.execute("SELECT * FROM client ORDER BY code")
row = req.fetchone()while(row):
cod = row[0]
row = req.fetchone()
cod =int(cod[1:4])
cod +=1
l =len(str(cod))
s =''if l <3:for i inrange(3- l):
s = s +'0'
cod1 ='C'+ s +str(cod)else:
cod1 ='C001'
self.cod.setText(cod1)
connection.close()defValider(self):
message= QMessageBox.question(self,"Nouveau Client","Est Vous Sur ?",QMessageBox.Yes|QMessageBox.No)if message==QMessageBox.Yes :
connection = sqlite3.connect("credit.db")
cursor = connection.cursor()try:
nouvClient =(self.cod.text(), self.rais.text().upper(), self.adres.text().capitalize(),0)
cursor.execute("INSERT INTO Client VALUES(?,?,?,?)", nouvClient)
connection.commit()print("Nouveau Client Ajouté !")except Exception as e:print("[ERREUR :]", e)
connection.rollback()finally:
connection.close()
self.Charger_La_Base()
self.attrib_Cod()
self.rais.clear()
self.adres.clear()else:
self.rais.clear()
self.adres.clear()defSupprimer(self):
message = QMessageBox.question(self,"Suppression Client","Est Vous Sur ?", QMessageBox.Yes | QMessageBox.No)if message == QMessageBox.Yes:
connection = sqlite3.connect("credit.db")
cursor = connection.cursor()try:
code_cli = self.table.item(self.table.currentRow(),0).text()
cursor.execute("DELETE FROM Client WHERE code = ?",(code_cli,))
connection.commit()print("Client Suprimé !")except Exception as e:print("[ERREUR :]", e)
connection.rollback()finally:
connection.close()
self.Charger_La_Base()
self.attrib_Cod()
self.but2.setEnabled(False)defclic(self):
self.but2.setEnabled(True)print(self.table.item(self.table.currentRow(),0).text())#print(self.table.item(self.table.currentRow(), 0).text())
app =QApplication(sys.argv)
win =Win_Client()
sys.exit(app.exec_())############################
A voir également:
Faire exucuter un fichier.py python à partir d'un menu principal
tarneo23
Messages postés58Date d'inscriptionmercredi 6 mai 2020StatutMembreDernière intervention24 mai 20209 21 mai 2020 à 15:08
tu veux donc run le programme depuis le menu windows? Rien de plus simple: Cliquer-glisser du programme dans le système de fichier puis dans la barre des tâches.