4.0 Alpha (Build 19346.1)
This commit is contained in:
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
17
.idea/workspace.xml
generated
17
.idea/workspace.xml
generated
@@ -15,9 +15,13 @@
|
|||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
|
<component name="Git.Settings">
|
||||||
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
<component name="ProjectId" id="1ULHfQb5VkZDNLqAqiV5YEYWfmE" />
|
<component name="ProjectId" id="1ULHfQb5VkZDNLqAqiV5YEYWfmE" />
|
||||||
<component name="PropertiesComponent">
|
<component name="PropertiesComponent">
|
||||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||||
|
<property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
|
||||||
</component>
|
</component>
|
||||||
<component name="RunDashboard">
|
<component name="RunDashboard">
|
||||||
<option name="ruleStates">
|
<option name="ruleStates">
|
||||||
@@ -71,13 +75,26 @@
|
|||||||
<option name="presentableId" value="Default" />
|
<option name="presentableId" value="Default" />
|
||||||
<updated>1575129057993</updated>
|
<updated>1575129057993</updated>
|
||||||
<workItem from="1575129059395" duration="10526000" />
|
<workItem from="1575129059395" duration="10526000" />
|
||||||
|
<workItem from="1575190894436" duration="18504000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TypeScriptGeneratedFilesManager">
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
<option name="version" value="1" />
|
<option name="version" value="1" />
|
||||||
</component>
|
</component>
|
||||||
|
<component name="Vcs.Log.Tabs.Properties">
|
||||||
|
<option name="TAB_STATES">
|
||||||
|
<map>
|
||||||
|
<entry key="MAIN">
|
||||||
|
<value>
|
||||||
|
<State />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
||||||
<SUITE FILE_PATH="coverage/GeneratorCSV_3_1$generator.coverage" NAME="generator Coverage Results" MODIFIED="1575142941417" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
<SUITE FILE_PATH="coverage/GeneratorCSV_3_1$generator.coverage" NAME="generator Coverage Results" MODIFIED="1575142941417" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
|
<SUITE FILE_PATH="coverage/Wersja_Under_Construction$generator.coverage" NAME="generator Coverage Results" MODIFIED="1575210327509" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -4,3 +4,12 @@
|
|||||||
- Dodanie zapisu opcji czarnego motywu do 'config.cfg'
|
- Dodanie zapisu opcji czarnego motywu do 'config.cfg'
|
||||||
- Wstępne stworzenie skryptu pozwalającego na zapis do pliku 'config.cfg'
|
- Wstępne stworzenie skryptu pozwalającego na zapis do pliku 'config.cfg'
|
||||||
- Błąd o braku głównego pliku składowego programu ('main.py') oraz modułu wywołującego okna dialogowe ('dialog.py')
|
- Błąd o braku głównego pliku składowego programu ('main.py') oraz modułu wywołującego okna dialogowe ('dialog.py')
|
||||||
|
|
||||||
|
4.0 Alpha (Build 19346.1)
|
||||||
|
- Przebudowanie skryptu odczytującego plik konfiguracyjny
|
||||||
|
- Dodanie skryptu zapisującego ustawienia do pliku konfiguracyjnego
|
||||||
|
- Scalenie dwóch powyższych skryptów do modułu 'load_config.py'
|
||||||
|
- Przeprojektowanie kodu
|
||||||
|
- Lekkie przeprojektowanie układu interfejsu
|
||||||
|
- Stworzenie palety barw motywu jasnego i ciemnego
|
||||||
|
- Wprowadzenie motywu jasnego i ciemnego (z możliwością zmiany jedynie przez plik 'config.cfg'
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
"""
|
"""
|
||||||
# GeneratorCSV
|
# GeneratorCSV
|
||||||
# Wersja 4.0: UC 1
|
# Wersja 4.0: UC 2
|
||||||
# by Mateusz Skoczek
|
# by Mateusz Skoczek
|
||||||
# luty 2019 - grudzień 2019
|
# luty 2019 - grudzień 2019
|
||||||
# dla ZSP Sobolew
|
# dla ZSP Sobolew
|
||||||
@@ -14,11 +14,14 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------- # Import bibliotek zewnętrznych # ----------------------------------------- #
|
# ----------------------------------- # Import bibliotek zewnętrznych i modułów # ------------------------------------ #
|
||||||
|
|
||||||
from tkinter import messagebox as TKmsb
|
# Biblioteki zewnętrzne
|
||||||
import sys as SS
|
import sys as SS
|
||||||
|
|
||||||
|
# Biblioteki zewnętrzne interfejsu graficznego
|
||||||
|
from tkinter import messagebox as TKmsb
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -35,12 +38,16 @@ def Err(KodBledu):
|
|||||||
if KodBledu[1]:
|
if KodBledu[1]:
|
||||||
SS.exit(0)
|
SS.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Okno dialogowe informacyjne
|
# Okno dialogowe informacyjne
|
||||||
def Inf(KodInformacji):
|
def Inf(KodInformacji):
|
||||||
TKmsb.showinfo('Informacja', KodInformacji[0])
|
TKmsb.showinfo('Informacja', KodInformacji[0])
|
||||||
if KodInformacji[1]:
|
if KodInformacji[1]:
|
||||||
SS.exit(0)
|
SS.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Okno dialogowe zapytania
|
# Okno dialogowe zapytania
|
||||||
def Ask(KodZapytania):
|
def Ask(KodZapytania):
|
||||||
if TKmsb.askokcancel('Pytanie', KodZapytania):
|
if TKmsb.askokcancel('Pytanie', KodZapytania):
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"""
|
"""
|
||||||
# GeneratorCSV
|
# GeneratorCSV
|
||||||
# Wersja 4.0: UC 1
|
# Wersja 4.0: UC 2
|
||||||
# by Mateusz Skoczek
|
# by Mateusz Skoczek
|
||||||
# luty 2019 - grudzień 2019
|
# luty 2019 - grudzień 2019
|
||||||
# dla ZSP Sobolew
|
# dla ZSP Sobolew
|
||||||
@@ -10,11 +10,106 @@
|
|||||||
#
|
#
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def read():
|
|
||||||
with open('.\config.cfg') as cfg:
|
|
||||||
cfg = cfg.read().split('\n')
|
|
||||||
settings = []
|
|
||||||
for x in cfg
|
|
||||||
|
|
||||||
def edit():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------------------------- # Definicja kodów dialogowych # ------------------------------------------ #
|
||||||
|
|
||||||
|
E000x01 = "Brak modułu wywołującego okna dialogowe ('dialog.py').\nPrzywróć plik. (E000x01)"
|
||||||
|
E001x01 = ["Brak pliku konfiguracyjnego ('config.cfg').\nPrzywróć plik. (E001x01)", True]
|
||||||
|
E002x00 = ["Bład pliku konfiguracyjnego ('config.cfg').\nNiepoprawna ilość wierszy w pliku\nPrzywróć plik. (E002x00)", True]
|
||||||
|
E002x01 = ["Bład pliku konfiguracyjnego ('config.cfg').\nNiepoprawne dane w wierszu 1\nPrzywróć plik. (E002x01)", True]
|
||||||
|
E002x02 = ["Bład pliku konfiguracyjnego ('config.cfg').\nNiepoprawne dane w wierszu 2\nPrzywróć plik. (E002x02)", True]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------------------- # Import bibliotek zewnętrznych i modułów # ------------------------------------ #
|
||||||
|
|
||||||
|
# Biblioteki zewnętrzne
|
||||||
|
import sys as SS
|
||||||
|
|
||||||
|
# Moduły składowe programu
|
||||||
|
try:
|
||||||
|
import dialog as MDdlg
|
||||||
|
except ModuleNotFoundError:
|
||||||
|
print('Nieoczekiwany wyjatek - nie mozna wygenerowac okna dialogowego bledu\n\nBŁĄD KRYTYCZNY!\n%s') %E000x01
|
||||||
|
wait = input('Naciśnij ENTER aby zakończyć')
|
||||||
|
SS.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# --------------------------------------------------- # Funkcje # ---------------------------------------------------- #
|
||||||
|
|
||||||
|
# Wewnętrzna funkcja sprawdzająca błędy pliku konfiguracyjnego
|
||||||
|
def CheckConfig(settings):
|
||||||
|
# Ilość wierszy
|
||||||
|
try:
|
||||||
|
if len(settings) != 2:
|
||||||
|
error = int('x')
|
||||||
|
except ValueError:
|
||||||
|
MDdlg.Err(E002x00)
|
||||||
|
|
||||||
|
# Linia 1 (0/1)
|
||||||
|
try:
|
||||||
|
check = int(settings[0])
|
||||||
|
if 0 > check > 1:
|
||||||
|
error = int('x')
|
||||||
|
except ValueError:
|
||||||
|
MDdlg.Err(E002x01)
|
||||||
|
|
||||||
|
# Linia 2 (utf-8)
|
||||||
|
DostepneKodowanieWyjsciowe = ['utf-8']
|
||||||
|
try:
|
||||||
|
if settings[1] not in DostepneKodowanieWyjsciowe:
|
||||||
|
error = int('x')
|
||||||
|
except ValueError:
|
||||||
|
MDdlg.Err(E002x02)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Odczytywanie ustawień z pliku konfiguracyjnego
|
||||||
|
def read():
|
||||||
|
try:
|
||||||
|
check = open('.\config.cfg')
|
||||||
|
except FileNotFoundError:
|
||||||
|
MDdlg.Err(E001x01)
|
||||||
|
else:
|
||||||
|
with open('.\config.cfg', 'r') as cfg:
|
||||||
|
config = cfg.read().split('\n')
|
||||||
|
settings = []
|
||||||
|
for x in config:
|
||||||
|
settings.append(x.split(': ')[1])
|
||||||
|
CheckConfig(settings)
|
||||||
|
return settings
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Zapis ustawień do pliku konfiguracyjnego
|
||||||
|
def edit(settings):
|
||||||
|
CheckConfig(settings)
|
||||||
|
try:
|
||||||
|
check = open('.\config.cfg')
|
||||||
|
except FileNotFoundError:
|
||||||
|
MDdlg.Err(E001x01)
|
||||||
|
else:
|
||||||
|
SettingsToSave = []
|
||||||
|
SettingsToSave.append('Ciemny motyw(0/1): ' + str(settings[0]) + '\n')
|
||||||
|
SettingsToSave.append('Kodowanie wyjsciowe: ' + str(settings[1]))
|
||||||
|
with open('.\config.cfg', 'w') as cfg:
|
||||||
|
for x in SettingsToSave:
|
||||||
|
cfg.write(x)
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
"""
|
"""
|
||||||
# GeneratorCSV
|
# GeneratorCSV
|
||||||
# Wersja 4.0: UC 1
|
# Wersja 4.0: UC 2
|
||||||
# by Mateusz Skoczek
|
# by Mateusz Skoczek
|
||||||
# luty 2019 - grudzień 2019
|
# luty 2019 - grudzień 2019
|
||||||
# dla ZSP Sobolew
|
# dla ZSP Sobolew
|
||||||
@@ -14,6 +14,15 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------- # Informacje o programie # -------------------------------------------- #
|
||||||
|
|
||||||
|
Nazwa = 'GeneratorCSV'
|
||||||
|
Wersja = '4.0: UC 2'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -21,6 +30,7 @@
|
|||||||
|
|
||||||
E000x01 = "Brak modułu wywołującego okna dialogowe ('dialog.py').\nPrzywróć plik. (E000x01)"
|
E000x01 = "Brak modułu wywołującego okna dialogowe ('dialog.py').\nPrzywróć plik. (E000x01)"
|
||||||
E000x02 = ["Brak modułu zarządzającego plikiem konfiguracyjnym ('load_config.py').\nPrzywróć plik. (E000x02)", True]
|
E000x02 = ["Brak modułu zarządzającego plikiem konfiguracyjnym ('load_config.py').\nPrzywróć plik. (E000x02)", True]
|
||||||
|
E001x02 = ["Brak pliku instrukcji ('instruction.txt').\nPrzywróć plik. (E001x02)", False]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -35,6 +45,8 @@ E000x02 = ["Brak modułu zarządzającego plikiem konfiguracyjnym ('load_config.
|
|||||||
import os as OS
|
import os as OS
|
||||||
import sys as SS
|
import sys as SS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Moduły składowe programu
|
# Moduły składowe programu
|
||||||
try:
|
try:
|
||||||
import dialog as MDdlg
|
import dialog as MDdlg
|
||||||
@@ -42,11 +54,14 @@ except ModuleNotFoundError:
|
|||||||
print('Nieoczekiwany wyjatek - nie mozna wygenerowac okna dialogowego bledu\n\nBŁĄD KRYTYCZNY!\n%s') %E000x01
|
print('Nieoczekiwany wyjatek - nie mozna wygenerowac okna dialogowego bledu\n\nBŁĄD KRYTYCZNY!\n%s') %E000x01
|
||||||
wait = input('Naciśnij ENTER aby zakończyć')
|
wait = input('Naciśnij ENTER aby zakończyć')
|
||||||
SS.exit(0)
|
SS.exit(0)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import load_config as MDlcg
|
import load_config as MDlcg
|
||||||
except ModuleNotFoundError:
|
except ModuleNotFoundError:
|
||||||
MDdlg.Err(E000x02)
|
MDdlg.Err(E000x02)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Biblioteki zewnętrzne interfejsu graficznego
|
# Biblioteki zewnętrzne interfejsu graficznego
|
||||||
from tkinter import filedialog as TKfld
|
from tkinter import filedialog as TKfld
|
||||||
import tkinter as TK
|
import tkinter as TK
|
||||||
@@ -61,125 +76,201 @@ import tkinter as TK
|
|||||||
|
|
||||||
# ------------------------------------- # Uruchomienie interfejsu graficznego # -------------------------------------- #
|
# ------------------------------------- # Uruchomienie interfejsu graficznego # -------------------------------------- #
|
||||||
|
|
||||||
# Informacje o programie
|
|
||||||
Nazwa = 'GeneratorCSV'
|
|
||||||
Wersja = '4.0' #Todo wersja
|
|
||||||
|
|
||||||
# Zmienne globalne środowiska graficznego
|
# Zmienne globalne środowiska graficznego
|
||||||
|
if int(MDlcg.read()[0]) == 1:
|
||||||
CiemnyMotyw =
|
CiemnyMotyw = True
|
||||||
|
else:
|
||||||
|
CiemnyMotyw = False
|
||||||
SzerokoscOpisu = 17
|
SzerokoscOpisu = 17
|
||||||
SzerokoscPola = 91
|
SzerokoscPola = 122
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Kolorystyka okna
|
||||||
|
if CiemnyMotyw:
|
||||||
|
PaletaBarw = ['#1F1F1F', '#191919', '#B8B8B8', '#FFFFFF', '#404040', '#FFFFFF', '#1F1F1F', 1]
|
||||||
|
else:
|
||||||
|
PaletaBarw = ['#F0F0F0', '#D4D4D4', '#000000', '#000000', '#A6A6A6', '#000000', '#FFFFFF', 2]
|
||||||
|
|
||||||
|
B_tlo = PaletaBarw[0]
|
||||||
|
B_tytultlo = PaletaBarw[1]
|
||||||
|
B_tytultext = PaletaBarw[2]
|
||||||
|
B_text = PaletaBarw[3]
|
||||||
|
B_przycisktlo = PaletaBarw[4]
|
||||||
|
B_przycisktext = PaletaBarw[5]
|
||||||
|
B_entrytlo = PaletaBarw[6]
|
||||||
|
B_framewielkosc = PaletaBarw[7]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def settings():
|
def settings():
|
||||||
SettingsWindow = TK.Tk()
|
SettingsWindow = TK.Tk()
|
||||||
SettingsWindow.title('ustawienia')
|
SettingsWindow.title('Ustawienia programu')
|
||||||
|
SettingsWindow.resizable(width = False, height = False)
|
||||||
|
SettingsWindow.configure()
|
||||||
|
|
||||||
SettingsWindow.mainloop()
|
SettingsWindow.mainloop()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
# Tworzenie okna głównego
|
# Tworzenie okna głównego
|
||||||
MainWindow = TK.Tk()
|
MainWindow = TK.Tk()
|
||||||
MainWindow.title(Nazwa + ' ' + Wersja)
|
MainWindow.title(Nazwa + ' ' + Wersja)
|
||||||
MainWindow.resizable(width = False, height = False)
|
MainWindow.resizable(width = False, height = False)
|
||||||
|
MainWindow.configure(background = B_tlo)
|
||||||
|
|
||||||
Tytul = TK.Label(MainWindow, text='GeneratorCSV', font=('Segoe UI Semilight', 20), borderwidth=7, justify='center',
|
|
||||||
bg='Gainsboro', width=47)
|
# Tytul
|
||||||
|
Tytul = TK.Label(MainWindow)
|
||||||
|
Tytul.config(text = Nazwa)
|
||||||
|
Tytul.config(width = 41)
|
||||||
|
Tytul.config(bg = B_tytultlo, fg = B_tytultext)
|
||||||
|
Tytul.config(font = ('Segoe UI Semilight', 30))
|
||||||
Tytul.grid(row = 0)
|
Tytul.grid(row = 0)
|
||||||
|
|
||||||
MainWindow.mainloop()
|
|
||||||
main()
|
|
||||||
|
|
||||||
"""
|
# Frame1 - Import
|
||||||
def gui():
|
Ramka1 = TK.LabelFrame(MainWindow)
|
||||||
# Tworzenie okna
|
Ramka1.config(text = ' Pliki do importu zawierające dane ')
|
||||||
OknoGlowne = TK.Tk()
|
Ramka1.config(bg = B_tlo, fg = B_text)
|
||||||
OknoGlowne.title('GeneratorCSV')
|
Ramka1.config(borderwidth = B_framewielkosc)
|
||||||
OknoGlowne.resizable(width=False, height=False)
|
|
||||||
|
|
||||||
# Nazwa programu
|
|
||||||
|
|
||||||
|
|
||||||
# Tworzenie frame dla ścieżek plików do importu
|
|
||||||
Ramka1 = TK.LabelFrame(OknoGlowne, text='Pliki do importu zawierające dane')
|
|
||||||
Ramka1.grid(row = 1)
|
Ramka1.grid(row = 1)
|
||||||
|
|
||||||
|
|
||||||
# Ścieżka pliku do importu 1
|
# Ścieżka pliku do importu 1
|
||||||
wiersz1 = 0
|
wiersz = 1
|
||||||
text1 = TK.StringVar()
|
text1 = TK.StringVar()
|
||||||
OpisPola1 = TK.Label(Ramka1, text='Plik z danymi (1)', justify='left', width=SzerokoscOpisu)
|
|
||||||
OpisPola1.grid(row=wiersz1, column=0)
|
OpisPola1 = TK.Label(Ramka1)
|
||||||
Pole1 = TK.Entry(Ramka1, textvariable=text1, width=SzerokoscPola)
|
OpisPola1.config(text = 'Plik z danymi (1)')
|
||||||
Pole1.grid(row=wiersz1, column=1)
|
OpisPola1.config(width = SzerokoscOpisu)
|
||||||
|
OpisPola1.config(bg = B_tlo, fg = B_text)
|
||||||
|
OpisPola1.grid(row = wiersz, column = 0)
|
||||||
|
|
||||||
|
Pole1 = TK.Entry(Ramka1)
|
||||||
|
Pole1.config(textvariable = text1)
|
||||||
|
Pole1.config(width = SzerokoscPola)
|
||||||
|
Pole1.config(bg = B_entrytlo, fg = B_text)
|
||||||
|
Pole1.grid(row = wiersz, column = 1)
|
||||||
|
|
||||||
def Browse1_Dialog():
|
def Browse1_Dialog():
|
||||||
Browse1.filename = TKfld.askopenfilename(initialdir="/", title="Wybierz plik",
|
Browse1.filename = TKfld.askopenfilename(initialdir = "/", title = "Wybierz plik do importu", filetypes = (("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
|
||||||
filetypes=(("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
|
|
||||||
Pole1.delete(0, 'end')
|
Pole1.delete(0, 'end')
|
||||||
Pole1.insert(0, Browse1.filename)
|
Pole1.insert(0, Browse1.filename)
|
||||||
|
|
||||||
Browse1 = TK.Button(Ramka1, text='...', command=Browse1_Dialog, background='silver', relief='flat')
|
Browse1 = TK.Button(Ramka1)
|
||||||
Browse1.grid(row=wiersz1, column=2, padx=5, pady=3)
|
Browse1.config(text = '...')
|
||||||
|
Browse1.config(command = Browse1_Dialog)
|
||||||
|
Browse1.config(bg = B_przycisktlo, fg = B_przycisktext, relief='flat', activebackground = B_przycisktlo)
|
||||||
|
Browse1.grid(row = wiersz, column = 2, padx=5, pady=3)
|
||||||
|
|
||||||
|
|
||||||
# Ścieżka pliku do importu 2
|
# Ścieżka pliku do importu 2
|
||||||
wiersz2 = 1
|
wiersz = 2
|
||||||
text2 = TK.StringVar()
|
text2 = TK.StringVar()
|
||||||
OpisPola2 = TK.Label(Ramka1, text='Plik z danymi (2)', justify='left', width=SzerokoscOpisu)
|
|
||||||
OpisPola2.grid(row=wiersz2, column=0)
|
OpisPola2 = TK.Label(Ramka1)
|
||||||
Pole2 = TK.Entry(Ramka1, textvariable=text2, width=SzerokoscPola)
|
OpisPola2.config(text = 'Plik z danymi (2)')
|
||||||
Pole2.grid(row=wiersz2, column=1)
|
OpisPola2.config(width = SzerokoscOpisu)
|
||||||
|
OpisPola2.config(bg = B_tlo, fg = B_text)
|
||||||
|
OpisPola2.grid(row = wiersz, column = 0)
|
||||||
|
|
||||||
|
Pole2 = TK.Entry(Ramka1)
|
||||||
|
Pole2.config(textvariable = text2)
|
||||||
|
Pole2.config(width = SzerokoscPola)
|
||||||
|
Pole2.config(bg = B_entrytlo, fg = B_text)
|
||||||
|
Pole2.grid(row = wiersz, column = 1)
|
||||||
|
|
||||||
def Browse2_Dialog():
|
def Browse2_Dialog():
|
||||||
Browse2.filename = TKfld.askopenfilename(initialdir="/", title="Wybierz plik",
|
Browse2.filename = TKfld.askopenfilename(initialdir = "/", title = "Wybierz plik do importu", filetypes = (("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
|
||||||
filetypes=(("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
|
|
||||||
Pole2.delete(0, 'end')
|
Pole2.delete(0, 'end')
|
||||||
Pole2.insert(0, Browse2.filename)
|
Pole2.insert(0, Browse2.filename)
|
||||||
|
|
||||||
Browse2 = TK.Button(Ramka1, text='...', command=Browse2_Dialog, background='silver', relief='flat')
|
Browse2 = TK.Button(Ramka1)
|
||||||
Browse2.grid(row=wiersz2, column=2, padx=5, pady=3)
|
Browse2.config(text = '...')
|
||||||
|
Browse2.config(command = Browse1_Dialog)
|
||||||
|
Browse2.config(bg = B_przycisktlo, fg = B_przycisktext, relief = 'flat', activebackground = B_przycisktlo)
|
||||||
|
Browse2.grid(row = wiersz, column = 2, padx = 5, pady = 3)
|
||||||
|
|
||||||
|
|
||||||
# Ścieżka pliku do importu 3
|
# Ścieżka pliku do importu 3
|
||||||
wiersz3 = 2
|
wiersz = 3
|
||||||
text3 = TK.StringVar()
|
text3 = TK.StringVar()
|
||||||
OpisPola3 = TK.Label(Ramka1, text='Plik z danymi (3)', justify='left', width=SzerokoscOpisu)
|
|
||||||
OpisPola3.grid(row=wiersz3, column=0)
|
OpisPola3 = TK.Label(Ramka1)
|
||||||
Pole3 = TK.Entry(Ramka1, textvariable=text3, width=SzerokoscPola)
|
OpisPola3.config(text = 'Plik z danymi (3)')
|
||||||
Pole3.grid(row=wiersz3, column=1)
|
OpisPola3.config(width = SzerokoscOpisu)
|
||||||
|
OpisPola3.config(bg = B_tlo, fg = B_text)
|
||||||
|
OpisPola3.grid(row = wiersz, column = 0)
|
||||||
|
|
||||||
|
Pole3 = TK.Entry(Ramka1)
|
||||||
|
Pole3.config(textvariable = text3)
|
||||||
|
Pole3.config(width = SzerokoscPola)
|
||||||
|
Pole3.config(bg = B_entrytlo, fg = B_text)
|
||||||
|
Pole3.grid(row = wiersz, column = 1)
|
||||||
|
|
||||||
def Browse3_Dialog():
|
def Browse3_Dialog():
|
||||||
Browse3.filename = TKfld.askopenfilename(initialdir="/", title="Wybierz plik",
|
Browse3.filename = TKfld.askopenfilename(initialdir = "/", title = "Wybierz plik do importu", filetypes = (("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
|
||||||
filetypes=(("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
|
|
||||||
Pole3.delete(0, 'end')
|
Pole3.delete(0, 'end')
|
||||||
Pole3.insert(0, Browse3.filename)
|
Pole3.insert(0, Browse3.filename)
|
||||||
|
|
||||||
Browse3 = TK.Button(Ramka1, text='...', command=Browse3_Dialog, background='silver', relief='flat')
|
Browse3 = TK.Button(Ramka1)
|
||||||
Browse3.grid(row=wiersz3, column=2, padx=5, pady=3)
|
Browse3.config(text = '...')
|
||||||
|
Browse3.config(command = Browse1_Dialog)
|
||||||
|
Browse3.config(bg = B_przycisktlo, fg = B_przycisktext, relief = 'flat', activebackground = B_przycisktlo)
|
||||||
|
Browse3.grid(row = wiersz, column = 2, padx = 5, pady = 3)
|
||||||
|
|
||||||
|
|
||||||
# Ścieżka pliku do importu 4
|
# Ścieżka pliku do importu 4
|
||||||
wiersz4 = 3
|
wiersz = 4
|
||||||
text4 = TK.StringVar()
|
text4 = TK.StringVar()
|
||||||
OpisPola4 = TK.Label(Ramka1, text='Plik z danymi (4)', justify='left', width=SzerokoscOpisu)
|
|
||||||
OpisPola4.grid(row=wiersz4, column=0)
|
OpisPola4 = TK.Label(Ramka1)
|
||||||
Pole4 = TK.Entry(Ramka1, textvariable=text3, width=SzerokoscPola)
|
OpisPola4.config(text = 'Plik z danymi (4)')
|
||||||
Pole4.grid(row=wiersz4, column=1)
|
OpisPola4.config(width = SzerokoscOpisu)
|
||||||
|
OpisPola4.config(bg = B_tlo, fg = B_text)
|
||||||
|
OpisPola4.grid(row = wiersz, column = 0)
|
||||||
|
|
||||||
|
Pole4 = TK.Entry(Ramka1)
|
||||||
|
Pole4.config(textvariable = text4)
|
||||||
|
Pole4.config(width = SzerokoscPola)
|
||||||
|
Pole4.config(bg = B_entrytlo, fg = B_text)
|
||||||
|
Pole4.grid(row = wiersz, column = 1)
|
||||||
|
|
||||||
def Browse4_Dialog():
|
def Browse4_Dialog():
|
||||||
Browse4.filename = TKfld.askopenfilename(initialdir="/", title="Wybierz plik",
|
Browse4.filename = TKfld.askopenfilename(initialdir = "/", title = "Wybierz plik do importu", filetypes = (("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
|
||||||
filetypes=(("Pliki txt", "*.txt"), ("Wszystkie pliki", "*.*")))
|
|
||||||
Pole4.delete(0, 'end')
|
Pole4.delete(0, 'end')
|
||||||
Pole4.insert(0, Browse4.filename)
|
Pole4.insert(0, Browse4.filename)
|
||||||
|
|
||||||
Browse4 = TK.Button(Ramka1, text='...', command=Browse4_Dialog, background='silver', relief='flat')
|
Browse4 = TK.Button(Ramka1)
|
||||||
Browse4.grid(row=wiersz4, column=2, padx=5, pady=3)
|
Browse4.config(text = '...')
|
||||||
|
Browse4.config(command = Browse1_Dialog)
|
||||||
|
Browse4.config(bg = B_przycisktlo, fg = B_przycisktext, relief = 'flat', activebackground = B_przycisktlo)
|
||||||
|
Browse4.grid(row = wiersz, column = 2, padx = 5, pady = 3)
|
||||||
|
|
||||||
# Tworzenie frame dla plików export
|
|
||||||
Ramka2 = TK.LabelFrame(OknoGlowne, text='Ustawienia eksportu')
|
# Frame2 - Eksport
|
||||||
|
Ramka2 = TK.LabelFrame(MainWindow)
|
||||||
|
Ramka2.config(text = ' Ustawienia eksportu ')
|
||||||
|
Ramka2.config(bg = B_tlo, fg = B_text)
|
||||||
|
Ramka2.config(borderwidth = B_framewielkosc)
|
||||||
Ramka2.grid(row = 2)
|
Ramka2.grid(row = 2)
|
||||||
|
|
||||||
# Ścieżka folderu do zapisu wygenerowanych plików
|
# Ścieżka folderu do zapisu wygenerowanych plików
|
||||||
text4 = TK.StringVar()
|
textExport = TK.StringVar()
|
||||||
OpisPolaExport = TK.Label(Ramka2, text='Lokalizacja', justify='left', width=SzerokoscOpisu)
|
|
||||||
|
OpisPolaExport = TK.Label(Ramka2)
|
||||||
|
OpisPolaExport.config(text = 'Lokalizacja')
|
||||||
|
OpisPolaExport.config(width = SzerokoscOpisu)
|
||||||
|
OpisPolaExport.config(bg = B_tlo, fg = B_text, relief = 'flat', activebackground = B_przycisktlo)
|
||||||
OpisPolaExport.grid(row=0, column=0)
|
OpisPolaExport.grid(row=0, column=0)
|
||||||
PoleExport = TK.Entry(Ramka2, textvariable=text4, width=SzerokoscPola)
|
|
||||||
|
PoleExport = TK.Entry(Ramka2)
|
||||||
|
PoleExport.config(textvariable = textExport)
|
||||||
|
PoleExport.config(width = SzerokoscPola)
|
||||||
|
PoleExport.config(bg = B_entrytlo, fg = B_text)
|
||||||
PoleExport.grid(row=0, column=1)
|
PoleExport.grid(row=0, column=1)
|
||||||
|
|
||||||
def BrowseExport_Dialog():
|
def BrowseExport_Dialog():
|
||||||
@@ -187,34 +278,56 @@ def gui():
|
|||||||
PoleExport.delete(0, 'end')
|
PoleExport.delete(0, 'end')
|
||||||
PoleExport.insert(0, BrowseExport.filename)
|
PoleExport.insert(0, BrowseExport.filename)
|
||||||
|
|
||||||
BrowseExport = TK.Button(Ramka2, text='...', command=BrowseExport_Dialog, background='silver', relief='flat')
|
BrowseExport = TK.Button(Ramka2)
|
||||||
|
BrowseExport.config(text='...')
|
||||||
|
BrowseExport.config(command=BrowseExport_Dialog)
|
||||||
|
BrowseExport.config(bg = B_przycisktlo, fg = B_przycisktext, relief='flat', activebackground = B_przycisktlo)
|
||||||
BrowseExport.grid(row=0, column=2, padx=5, pady=3)
|
BrowseExport.grid(row=0, column=2, padx=5, pady=3)
|
||||||
|
|
||||||
|
|
||||||
# Przycisk START
|
# Przycisk START
|
||||||
Przycisk = TK.Button(OknoGlowne, text='START', justify='center', width=50, relief='flat', background='silver')
|
def PathPreprocess():
|
||||||
command=Main
|
pass
|
||||||
Przycisk.grid(row=3, pady=15)
|
|
||||||
|
PrzyciskSTART = TK.Button(MainWindow)
|
||||||
|
PrzyciskSTART.config(text = 'START')
|
||||||
|
PrzyciskSTART.config(command = PathPreprocess)
|
||||||
|
PrzyciskSTART.config(width = 50)
|
||||||
|
PrzyciskSTART.config(bg = B_przycisktlo, fg = B_przycisktext, relief = 'flat', activebackground = B_przycisktlo)
|
||||||
|
PrzyciskSTART.grid(row = 3, pady = 15)
|
||||||
|
|
||||||
|
|
||||||
# Pasek dolny
|
# Pasek dolny
|
||||||
PasekDolny = TK.LabelFrame(OknoGlowne, bd=0, background='Gainsboro')
|
PasekDolny = TK.LabelFrame(MainWindow)
|
||||||
|
PasekDolny.config(bd = 0, bg = B_tytultlo, fg = B_tytultext)
|
||||||
PasekDolny.grid(row = 4)
|
PasekDolny.grid(row = 4)
|
||||||
InfoLabel = TK.Label(PasekDolny, text='GeneratorCSV 3.0 | © Mateusz Skoczek 2019 dla ZSP Sobolew', justify='left',
|
|
||||||
width=93, anchor='w', background='Gainsboro')
|
InfoLabel = TK.Label(PasekDolny)
|
||||||
|
InfoLabel.config(text = 'GeneratorCSV 3.0 | © Mateusz Skoczek 2019 dla ZSP Sobolew')
|
||||||
|
InfoLabel.config(justify = 'left', anchor='w', width=107)
|
||||||
|
InfoLabel.config(bg = B_tytultlo, fg = B_tytultext)
|
||||||
InfoLabel.grid(row=0, column=0)
|
InfoLabel.grid(row=0, column=0)
|
||||||
|
|
||||||
def InfoOpen():
|
def InfoOpen():
|
||||||
try:
|
try:
|
||||||
x = open('instrukcja.txt')
|
x = open('instrukcja.txt')
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
DG.err(E001x03)
|
MDdlg.Err(E001x02)
|
||||||
else:
|
else:
|
||||||
OS.system("notepad instrukcja.txt")
|
OS.system("notepad instrukcja.txt")
|
||||||
|
|
||||||
Przycisk = TK.Button(PasekDolny, text='Instrukcja', justify='center', foreground='blue', relief='flat',
|
PrzyciskINFO = TK.Button(PasekDolny)
|
||||||
command=InfoOpen, background='Gainsboro')
|
PrzyciskINFO.config(text = 'Instrukcja')
|
||||||
Przycisk.grid(row=0, column=1)
|
PrzyciskINFO.config(command = InfoOpen)
|
||||||
|
PrzyciskINFO.config(bg = B_przycisktlo, fg = B_przycisktext, relief = 'flat', activebackground = B_przycisktlo)
|
||||||
|
PrzyciskINFO.grid(row = 0, column = 1, padx = 5, pady = 5)
|
||||||
|
|
||||||
TK.mainloop()
|
PrzyciskUSTAWIENIA = TK.Button(PasekDolny)
|
||||||
|
PrzyciskUSTAWIENIA.config(text = 'Ustawienia')
|
||||||
|
PrzyciskUSTAWIENIA.config(command = settings)
|
||||||
|
PrzyciskUSTAWIENIA.config(bg = B_przycisktlo, fg = B_przycisktext, relief = 'flat')
|
||||||
|
PrzyciskUSTAWIENIA.grid(row = 0, column = 2, padx = 5, pady = 5)
|
||||||
|
|
||||||
gui()
|
MainWindow.mainloop()
|
||||||
"""
|
|
||||||
|
main()
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
Ciemny motyw: 1
|
Ciemny motyw(0/1): 0
|
||||||
Kodowanie: utf-8
|
Kodowanie wyjsciowe: utf-8
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
"""
|
"""
|
||||||
# GeneratorCSV
|
# GeneratorCSV
|
||||||
# Wersja 4.0: UC 1
|
# Wersja 4.0: UC 2
|
||||||
# by Mateusz Skoczek
|
# by Mateusz Skoczek
|
||||||
# luty 2019 - grudzień 2019
|
# luty 2019 - grudzień 2019
|
||||||
# dla ZSP Sobolew
|
# dla ZSP Sobolew
|
||||||
@@ -28,7 +28,7 @@ E000x00 = "Brak głównego pliku składowego programu ('main.py').\nPrzywróć p
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------- # Import bibliotek zewnętrznych # ----------------------------------------- #
|
# ----------------------------------- # Import bibliotek zewnętrznych i modułów # ------------------------------------ #
|
||||||
|
|
||||||
import os as OS
|
import os as OS
|
||||||
import sys as SS
|
import sys as SS
|
||||||
|
|||||||
Reference in New Issue
Block a user