Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
O
objQRcode
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Thorfin89
objQRcode
Commits
6314372d
Commit
6314372d
authored
Jan 05, 2024
by
Thorfin89
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Correction sur la génération du code WIFI
parent
955f2cc1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
51 additions
and
47 deletions
+51
-47
README.md
README.md
+1
-1
main.py
main.py
+50
-46
No files found.
README.md
View file @
6314372d
...
...
@@ -25,7 +25,7 @@ voire quelques fonctions supplémentaires à ajouter.
-
tk-tools
## Codage d'un accès Wifi :
WIFI:T:
*cryptage(nopass, WEP, W
APA)*
;S:ssid;P:
*motdepasse*
;H:
*caché(tru
e)*
WIFI:T:
*cryptage(nopass, WEP, W
PA)*
;S:ssid;P:
*motdepasse*
;H:
*caché(true / fals
e)*
#### Exemple 1:
...
...
main.py
View file @
6314372d
...
...
@@ -22,17 +22,16 @@ current_file = "temp.png"
# ===== FONCTIONS =====
def
init
():
# Réinitialisation de la configuration du QRCode
global
bg_color
global
fg_color
# réinitialisation de la configuration du QRCode
bg_color
=
"#FFFFFF"
bg_color_btn
.
config
(
bg
=
bg_color
)
fg_color
=
"#000000"
fg_color_btn
.
config
(
bg
=
fg_color
)
# bg_color_btn.config(bg=bg_color)
boxe_size_scale
.
set
(
5
)
border_size_scale
.
set
(
2
)
#
o
n vide toutes les zones de saisie
#
O
n vide toutes les zones de saisie
ssid_name
.
delete
(
0
,
'end'
)
password
.
delete
(
0
,
'end'
)
text
.
delete
(
0
,
'end'
)
...
...
@@ -45,7 +44,7 @@ def new_file():
current_file
=
"temp.png"
#
o
uverture d'un fichier
#
O
uverture d'un fichier
def
open_file
():
global
current_file
file
=
filedialog
.
askopenfilename
(
title
=
"Ouvrir un QRCode au format PNG"
,
...
...
@@ -53,16 +52,16 @@ def open_file():
initialdir
=
"./qrcodes"
)
if
file
!=
""
:
current_file
=
file
#
o
n vide les zones de saisie du WIFI
#
O
n vide les zones de saisie du WIFI
init
()
#
o
n insère le nouveau code dans les données à coder
#
O
n insère le nouveau code dans les données à coder
text
.
insert
(
0
,
decode
(
file
))
#
o
n code puis on affiche
#
O
n code puis on affiche
code
()
display_qrcode
()
#
e
nregistrer un fichier sous
#
E
nregistrer un fichier sous
def
save_as
():
global
current_file
file
=
filedialog
.
asksaveasfilename
(
title
=
"Enregistrer le QRCode au format PNG sous"
,
...
...
@@ -87,19 +86,19 @@ def save():
qr
.
add_data
(
text
.
get
())
qr
.
make
(
fit
=
'True'
)
#
c
réation et sauvegarde de l'image du QRCode
#
C
réation et sauvegarde de l'image du QRCode
img
=
qr
.
make_image
(
fill_color
=
fg_color
,
back_color
=
bg_color
)
img
.
save
(
current_file
)
#
l
it l'image au format PNG et renvoie le texte
#
L
it l'image au format PNG et renvoie le texte
def
decode
(
file
):
decoder
=
cv2
.
QRCodeDetector
()
data_text
,
points
,
data_code
=
decoder
.
detectAndDecode
(
cv2
.
imread
(
file
))
return
data_text
#
c
hoix de la couleur du fond
#
C
hoix de la couleur du fond
def
set_bg_color
():
global
bg_color
(
rgb
,
selection
)
=
askcolor
()
# Appel de la boîte de dialogue 'Couleur'
...
...
@@ -110,14 +109,14 @@ def set_bg_color():
code
()
display_qrcode
()
#
s
i la couleur du fond du code est identique à celle de la fenêtre
#
S
i la couleur du fond du code est identique à celle de la fenêtre
if
bg_color
==
"#808080"
:
right_frame
.
config
(
bg
=
"#FFFFFF"
)
else
:
right_frame
.
config
(
bg
=
"#808080"
)
#
c
hoix de la couleur du code
#
C
hoix de la couleur du code
def
set_fg_color
():
global
fg_color
(
rgb
,
selection
)
=
askcolor
()
# Appel de la boîte de dialogue 'Couleur'
...
...
@@ -147,18 +146,18 @@ def transfert():
# SSID caché OUI/NON
if
hide_choice
.
get
()
==
"OUI"
:
cache
=
"
T
rue"
cache
=
"
t
rue"
else
:
cache
=
""
cache
=
"
false
"
if
(
crypt
!=
"Aucun"
and
pwd
!=
""
)
or
(
crypt
==
"Aucun"
and
password
.
get
()
==
""
):
#
m
ise à jour du texte à coder
#
M
ise à jour du texte à coder
text
.
delete
(
0
,
'end'
)
code_wifi
=
"WIFI:T:"
+
crypt
+
";
S:"
+
ssid
+
";P:"
+
pwd
+
";H:"
+
cache
code_wifi
=
"WIFI:T:"
+
crypt
+
";
P:"
+
pwd
+
";S:"
+
ssid
+
";H:"
+
cache
+
";"
text
.
insert
(
0
,
code_wifi
)
#
c
réation de l'image du qrcode et affichage
#
C
réation de l'image du qrcode et affichage
code
()
display_qrcode
()
...
...
@@ -191,7 +190,7 @@ def code():
qr
.
add_data
(
text
.
get
())
qr
.
make
(
fit
=
'True'
)
#
c
réation et sauvegarde de l'image du QRCode
#
C
réation et sauvegarde de l'image du QRCode
img
=
qr
.
make_image
(
fill_color
=
fg_color
,
back_color
=
bg_color
)
img
.
save
(
"temp.png"
)
...
...
@@ -199,11 +198,11 @@ def code():
def
display_qrcode
():
global
qrcode_img
#
c
alcul de la taille du QRCode pour le centrer dans la fenêtre
#
C
alcul de la taille du QRCode pour le centrer dans la fenêtre
img
=
Image
.
open
(
"temp.png"
)
size
=
img
.
size
#
a
ffichage du QRCode
#
A
ffichage du QRCode
qrcode_img
=
PhotoImage
(
file
=
"temp.png"
)
qrcode_label
.
config
(
image
=
qrcode_img
,
bg
=
"white"
)
qrcode_label
.
place
(
x
=
198
-
size
[
0
]
//
2
,
y
=
198
-
size
[
1
]
//
2
)
# centrage
...
...
@@ -211,13 +210,15 @@ def display_qrcode():
def
info
():
messagebox
.
showinfo
(
title
=
"Informations"
,
message
=
" objQRCode est une interface graphique"
message
=
"objQRCode v 1.1"
"
\n
----------------------"
"
\n\n\n
objQRCode est une interface graphique"
"
\n
pour qrcode sous Python"
"
\n
"
"
\n
Daniel SAZERAT - 2023"
)
#
c
réation de la fenêtre principale
#
C
réation de la fenêtre principale
root
=
Tk
()
root
.
geometry
(
'800x480+100+100'
)
root
.
resizable
(
width
=
False
,
height
=
False
)
...
...
@@ -244,7 +245,7 @@ menu_aide = Menu(menu_general, tearoff=0)
menu_general
.
add_cascade
(
label
=
"Aide"
,
menu
=
menu_aide
)
# Création des sous menus 'Aide'
menu_aide
.
add_command
(
label
=
"
Info
"
,
command
=
info
)
menu_aide
.
add_command
(
label
=
"
À propos
"
,
command
=
info
)
# Configuration de la barre des menus
root
.
config
(
menu
=
menu_general
)
...
...
@@ -261,75 +262,78 @@ bottom_frame.place(x=0, y=421, width=800, height=220)
# ===== WIDGETS =====
qrcode_cfg_title
=
Label
(
left_frame
,
text
=
"CONFIGURATION DU QRCODE :"
,
bg
=
"#CCCCCC"
)
qrcode_cfg_title
.
place
(
x
=
20
,
y
=
20
)
# Choix des couleurs
color_choice
=
Label
(
left_frame
,
text
=
"Choix de couleurs :"
,
bg
=
"#CCCCCC"
)
color_choice
.
place
(
x
=
20
,
y
=
18
)
color_choice
.
place
(
x
=
30
,
y
=
45
)
bg_color_btn
=
Button
(
left_frame
,
bg
=
bg_color
,
relief
=
SUNKEN
,
command
=
set_bg_color
)
bg_color_btn
.
place
(
x
=
82
,
y
=
62
,
width
=
20
,
height
=
20
)
bg_color_btn
.
place
(
x
=
82
,
y
=
87
,
width
=
20
,
height
=
20
)
fg_color_btn
=
Button
(
left_frame
,
bg
=
fg_color
,
relief
=
SUNKEN
,
command
=
set_fg_color
)
fg_color_btn
.
place
(
x
=
70
,
y
=
50
,
width
=
20
,
height
=
20
)
fg_color_btn
.
place
(
x
=
70
,
y
=
75
,
width
=
20
,
height
=
20
)
#
c
hoix de la BOXE_SIZE
#
C
hoix de la BOXE_SIZE
boxe_size
=
IntVar
()
boxe_size_scale
=
Scale
(
left_frame
,
from_
=
1
,
to
=
10
,
variable
=
boxe_size
,
orient
=
HORIZONTAL
)
boxe_size_scale
.
config
(
bg
=
"#CCCCCC"
,
label
=
"Taille des points :"
,
length
=
180
,
highlightthickness
=
0
)
boxe_size_scale
.
set
(
5
)
boxe_size_scale
.
place
(
x
=
180
,
y
=
18
)
boxe_size_scale
.
place
(
x
=
180
,
y
=
45
)
#
c
hoix de la taille de la bordure
#
C
hoix de la taille de la bordure
border_size
=
IntVar
()
border_size_scale
=
Scale
(
left_frame
,
from_
=
1
,
to
=
10
,
variable
=
border_size
,
orient
=
HORIZONTAL
)
border_size_scale
.
config
(
bg
=
"#CCCCCC"
,
label
=
"Épaisseur de la bordure :"
,
length
=
180
,
highlightthickness
=
0
)
border_size_scale
.
set
(
2
)
border_size_scale
.
place
(
x
=
180
,
y
=
9
0
)
border_size_scale
.
place
(
x
=
180
,
y
=
11
0
)
# =====
p
oint d'accès WIFI =====
# =====
P
oint d'accès WIFI =====
wifi_title
=
Label
(
left_frame
,
text
=
'CONFIGURATION DU WIFI :'
,
bg
=
"#CCCCCC"
)
wifi_title
.
place
(
x
=
30
,
y
=
17
5
)
wifi_title
.
place
(
x
=
20
,
y
=
19
5
)
# SSID
ssid_name_title
=
Label
(
left_frame
,
text
=
'SSID :'
,
bg
=
"#CCCCCC"
)
ssid_name_title
.
place
(
x
=
30
,
y
=
2
0
0
)
ssid_name_title
.
place
(
x
=
30
,
y
=
2
2
0
)
ssid_name
=
Entry
(
left_frame
,
width
=
40
)
ssid_name
.
place
(
x
=
30
,
y
=
2
2
5
)
ssid_name
.
place
(
x
=
30
,
y
=
2
4
5
)
# Password
password_title
=
Label
(
left_frame
,
text
=
'Mot de passe :'
,
bg
=
"#CCCCCC"
)
password_title
.
place
(
x
=
30
,
y
=
2
5
0
)
password_title
.
place
(
x
=
30
,
y
=
2
7
0
)
password
=
Entry
(
left_frame
,
width
=
40
)
password
.
place
(
x
=
30
,
y
=
2
7
5
)
password
.
place
(
x
=
30
,
y
=
2
9
5
)
# Cryptage
crypt_title
=
Label
(
left_frame
,
text
=
'Cryptage :'
,
bg
=
"#CCCCCC"
)
crypt_title
.
place
(
x
=
300
,
y
=
2
0
0
)
crypt_title
.
place
(
x
=
300
,
y
=
2
2
0
)
crypt_list
=
[
"WPA"
,
"WEP"
,
"Aucun"
]
crypt_choice
=
SmartSpinBox
(
root
,
entry_type
=
'str'
,
width
=
8
,
justify
=
CENTER
,
values
=
crypt_list
,
callback
=
no_password
)
crypt_choice
.
place
(
x
=
300
,
y
=
2
2
5
)
crypt_choice
.
place
(
x
=
300
,
y
=
2
4
5
)
# Caché
hide_title
=
Label
(
left_frame
,
text
=
'
C
aché :'
,
bg
=
"#CCCCCC"
)
hide_title
.
place
(
x
=
300
,
y
=
2
5
0
)
hide_title
=
Label
(
left_frame
,
text
=
'
SSID c
aché :'
,
bg
=
"#CCCCCC"
)
hide_title
.
place
(
x
=
300
,
y
=
2
7
0
)
hide_list
=
[
"NON"
,
"OUI"
]
hide_choice
=
Spinbox
(
left_frame
,
values
=
hide_list
,
width
=
8
,
justify
=
CENTER
)
hide_choice
.
place
(
x
=
300
,
y
=
2
7
5
)
hide_choice
.
place
(
x
=
300
,
y
=
2
9
5
)
# Transfert du code dans les données à coder
transfert_btn
=
Button
(
left_frame
,
text
=
"Transfert
\n
vers
\n
données"
,
bg
=
"#61AEF9"
,
command
=
transfert
)
transfert_btn
.
place
(
x
=
30
,
y
=
3
2
0
,
width
=
60
,
height
=
60
)
transfert_btn
.
place
(
x
=
30
,
y
=
3
4
0
,
width
=
60
,
height
=
60
)
#
b
outon de création du QRCode
#
B
outon de création du QRCode
code_btn
=
Button
(
left_frame
,
text
=
"Créer le Code"
,
bg
=
"#88FF88"
,
command
=
verif_before_code
)
code_btn
.
place
(
x
=
260
,
y
=
380
,
width
=
100
,
height
=
40
)
#
t
exte à coder
#
T
exte à coder
text_title
=
Label
(
bottom_frame
,
text
=
'Données à coder :'
,
bg
=
"#CCCCCC"
)
text_title
.
place
(
x
=
30
,
y
=
0
)
text
=
Entry
(
bottom_frame
,
width
=
122
)
text
.
place
(
x
=
30
,
y
=
25
)
#
a
ffichage du QRcode
#
A
ffichage du QRcode
qrcode_img
=
""
qrcode_label
=
Label
(
right_frame
)
qrcode_label
.
config
(
image
=
qrcode_img
,
borderwidth
=
0
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment