Compare commits

..

6 Commits

Author SHA1 Message Date
90c8e46d7b Merge branch 'danamir' of https://git.danamir.ru/danamir/danrazdipl into danamir 2023-06-17 21:32:15 +03:00
fa2759bf1c mfp 2023-06-17 21:30:45 +03:00
danamir
bb9e715139 change gitignore 2023-06-04 11:22:01 +03:00
334d3c733f add editable table 2023-06-03 21:41:47 +03:00
1fa8bf57da deleterd print 2023-06-03 21:30:30 +03:00
e0c85ac979 add show all users func 2023-06-03 21:29:29 +03:00
3 changed files with 202 additions and 26 deletions

3
.gitignore vendored
View File

@@ -160,4 +160,5 @@ cython_debug/
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
*.db
*.db
.vscode

178
main.py
View File

@@ -54,7 +54,7 @@ def options():
window.title("Настройки")
window.config(bg="#5D6D7E")
lbl1=Label(window,text="Выбирите таблицу",font=("",25),fg="#fed9b7",bg="#5D6D7E")
lbl1=Label(window,text="Измените настройки программы",font=("",25),fg="#fed9b7",bg="#5D6D7E")
lbl1.pack(anchor="center")
bo1=Button(window,text="1. Добавить должность",command=addDolgnostGui)
@@ -411,9 +411,9 @@ def addPrintSettingsGui():
prDataFrame.heading(col,text=value)
#bapg=Button(window,text="Добавить",command=lambda:getPrintSetings())
#
"""
#bapg=Button(window,text="Добавить",command=lambda:getPrintSetings())
window.mainloop()
@@ -478,10 +478,9 @@ def getUsers():
a.append(user.fio)
a.append(dolg.dolgnst)
a.append(user.isadmin)
usr.append(a)
print(usr)
return usr
return usr
def getDolgnost():
sess = Session()
@@ -527,19 +526,24 @@ def showAllUsersGui():
lbl1=Label(window,text="Все пользователи системы",font=("",25),fg="#fed9b7",bg="#5D6D7E")
lbl1.pack(anchor="center")
tree = ttk.Treeview(window, column=("FName", "LName", "Roll No"), show='headings', height=5)
tree.column("# 1", anchor=CENTER)
tree.heading("# 1", text="FName")
tree.column("# 2", anchor=CENTER)
tree.heading("# 2", text="LName")
tree.column("# 3", anchor=CENTER)
tree.heading("# 3", text="Roll No")
users = getUsers()
# Insert the data in Treeview widget
tree.insert('', 'end', text="1", values=('Amit', 'Kumar', '17701'))
tree.insert('', 'end', text="1", values=('Ankush', 'Mathur', '17702'))
tree.insert('', 'end', text="1", values=('Manisha', 'Joshi', '17703'))
tree.insert('', 'end', text="1", values=('Shivam', 'Mehrotra', '17704'))
tree = ttk.Treeview(window, column=("fio", "Dolgnost", "isadmin"), show='headings', height=5)
tree.column("# 1", anchor=CENTER)
tree.heading("# 1", text="ФИО")
tree.column("# 2", anchor=CENTER)
tree.heading("# 2", text="Должность")
tree.column("# 3", anchor=CENTER)
tree.heading("# 3", text="Администратор")
for user in users:
if user[2]==False:
tree.insert('', 'end', text="1", values=(user[0], user[1], "Нет"))
else:
tree.insert('', 'end', text="1", values=(user[0], user[1], "Да"))
#
tree.pack()
@@ -548,5 +552,141 @@ def showAllUsersGui():
mainloop()
def editUsers():
root = Tk()
columns = ("Items", "Values")
Treeview = ttk.Treeview(root, height=18, show="headings", columns=columns) #
Treeview.column("Items", width=200, anchor='center')
Treeview.column("Values", width=200, anchor='center')
Treeview.heading("Items", text="Items")
Treeview.heading("Values", text="Values")
Treeview.pack(side=LEFT, fill=BOTH)
name = ['Item1', 'Item2', 'Item3']
ipcode = ['10', '25', '163']
for i in range(min(len(name), len(ipcode))):
Treeview.insert('', i, values=(name[i], ipcode[i]))
def treeview_sort_column(tv, col, reverse):
l = [(tv.set(k, col), k) for k in tv.get_children('')]
l.sort(reverse=reverse)
for index, (val, k) in enumerate(l):
tv.move(k, '', index)
tv.heading(col, command=lambda: treeview_sort_column(tv, col, not reverse))
def set_cell_value(event):
for item in Treeview.selection():
item_text = Treeview.item(item, "values")
column = Treeview.identify_column(event.x)
row = Treeview.identify_row(event.y)
cn = int(str(column).replace('#', ''))
rn = int(str(row).replace('I', ''))
entryedit = Text(root, width=10 + (cn - 1) * 16, height=1)
entryedit.place(x=16 + (cn - 1) * 130, y=6 + rn * 20)
def saveedit():
Treeview.set(item, column=column, value=entryedit.get(0.0, "end"))
entryedit.destroy()
okb.destroy()
okb = ttk.Button(root, text='OK', width=4, command=saveedit)
okb.place(x=90 + (cn - 1) * 242, y=2 + rn * 20)
def newrow():
name.append('to be named')
ipcode.append('value')
Treeview.insert('', len(name) - 1, values=(name[len(name) - 1], ipcode[len(name) - 1]))
Treeview.update()
newb.place(x=120, y=(len(name) - 1) * 20 + 45)
newb.update()
Treeview.bind('<Double-1>', set_cell_value)
newb = ttk.Button(root, text='new item', width=20, command=newrow)
newb.place(x=120, y=(len(name) - 1) * 20 + 45)
for col in columns:
Treeview.heading(col, text=col, command=lambda _col=col: treeview_sort_column(Treeview, _col, False))
root.mainloop()
def ShowOptimalSettingsGui():
root = Tk()
root.title(" ")
root.geometry("700x500")
root.config(bg="#5D6D7E")
l2 = Label(root,bg="#5D6D7E",text="Выберите принтер")
l2.place(x=10, y=20)
prnt = ttk.Combobox(root,textvariable="123", values=['Ender3', 'Kossel Delta'])
prnt.place(x=150, y=20)
l2 = Label(root,bg="#5D6D7E",text="Выберите произв")
l2.place(x=10, y=60)
prnt2 = ttk.Combobox(root,textvariable="1123", values=['Fdplast', 'Filamentarno'])
prnt2.place(x=150, y=60)
l3 = Label(root,bg="#5D6D7E",text="Выберите Тип пластика")
l3.place(x=10, y=100)
prnt3 = ttk.Combobox(root,textvariable="11234", values=['pla', 'petg', 'abs'])
prnt3.place(x=150, y=100)
l2 = Label(root,bg="#5D6D7E",text="Выберите цвет")
l2.place(x=10, y=140)
prnt4 = ttk.Combobox(root,textvariable="1", values=['Голубой', 'Зелёгый'])
prnt4.place(x=150, y=140)
chc=ttk.Checkbutton(root,text="Выбрать оптимальные?")
chc.place(x=100, y=170)
# определяем данные для отображения
people = [(209, 58, "57мм/cек", " "), (223, 75, "45мм/cек", "Проба прочности"), (211, 55, "57мм/cек", "Хорошая поверхность")]
people2 = [(211, 59, "62мм/cек")]
# определяем столбцы
columns = ("tempSopl", "tempStol", "Speed", "addit")
tree = ttk.Treeview(columns=columns, show="headings")
tree.place( x=10, y=220)
button_add = Button(root, text="Показать")
button_add.place(x=10, y=170)
# определяем заголовки с выпавниваем по левому краю
tree.heading("tempSopl", text="Температура сопла", anchor=W)
tree.heading("tempStol", text="Температура стола", anchor=W)
tree.heading("Speed", text="Скорость печати", anchor=W)
tree.heading("addit", text="Примечание", anchor=W)
# настраиваем столбцы
tree.column("#1", stretch=NO, width=200)
tree.column("#2", stretch=NO, width=200)
tree.column("#3", stretch=NO, width=200)
tree.column("#4", stretch=NO, width=200)
# добавляем данные
for person in people:
tree.insert("", END, values=person)
root.mainloop()
if __name__ == '__main__':
getUsers()
ShowOptimalSettingsGui()

View File

@@ -12,14 +12,49 @@ Base = mapper_registry.generate_base()
Session = sessionmaker(bind=engine)
class Proshivka(Base):
__tablename__ = "Proshivka"
id = Column(Integer, primary_key=True)
nazvanie = Column(String)
versia = Column(String)
officialSite = Column(String)
printers = relationship('Motherboard', backref='Proshivka')
class Mottherboard(Base):
__tablename__ = "Motherboard"
id = Column(Integer, primary_key=True)
nazvanie = Column(String)
versia = Column(String)
officialSite = Column(String)
kolvoDraivers = Column(String)
drivers = relationship('Driver', backref='Motherboard')
proshivkas = Column(Integer, ForeignKey(Proshivka.id))
printers = relationship('Printer', backref='Motherboard')
class Printer(Base):
__tablename__ = "Printer"
id = Column(Integer, primary_key=True)
kinematics = Column(String)
nazvanie = Column(String)
proshivka = Column(String)
maxSpedPrint = Column(Integer)
minSpedPrint = Column(Integer)
print_settings = relationship("PrintSettings", backref="Printer")
mtboards = Column(Integer, ForeignKey(Mottherboard.id))
class Driver():
__tablename__ = "Driver"
id = Column(Integer, primary_key=True)
nazvanie = Column(String)
versia = Column(String)
rabTok = Column(Integer)
motherId = Column(Integer, ForeignKey(Mottherboard.id))
class Plastic(Base):
@@ -27,6 +62,9 @@ class Plastic(Base):
id = Column(Integer, primary_key=True)
nazvanie = Column(String)
diametr = Column(Integer)
color = Column(String)
typePlast = Column(String)
proizv = Column(String)
minTempPrint = Column(Integer)
maxTempPrint = Column(Integer)
dateproizv = Column(DateTime)
@@ -53,7 +91,7 @@ class Dolgnost(Base):
__tablename__ = "Dolgnost"
id = Column(Integer, primary_key=True)
dolgnst = Column(String)
isadmin = Column(Boolean, default=False)
users = relationship("Users")
@@ -64,23 +102,20 @@ class Users(Base):
login = Column(String)
passwd = Column(String)
isadmin = Column(Boolean, default=False)
id_dolgnost = Column(Integer, ForeignKey(Dolgnost.id))
def create_db():
Base.metadata.create_all(engine)
def create_admin():
"""
sess = Session()
newuser = Users(fio="admin", dolgnost="admin",
login="admin", passwd="123456")
sess.add(newuser)
sess.commit()
sess.close()
"""
if __name__ == '__main__':
create_db()