На данный момент я готов написать свою собственную программу администрирования, которая отображает записи данных из базы данных в виде таблицы. Тем не менее, я не знаю, как я могу прочитать, какая запись выбрана в таблице. Я сделал все это с помощью wxpython, потому что я не нашел ничего подходящего для tkinter. Я обнаружил, что tkintertable это слишком сложно, но есть ли способ отобразить wxpython и tkinter в одном окне? Мне нравится брать уже готовый код, потому что у меня нет времени на правильное чтение, и проект должен быть выполнен быстро.
import wx
import wx.grid
class MyFrame(wx.Frame):
def __init__(
self, parent = None, title = "Noten", size = wx.Size(310, 700),
spaltennamen = None, datenzeilen = None
):
wx.Frame.__init__(self, parent, -1, title, size = size)
panel = wx.Panel(self)
vbox_main = wx.BoxSizer(wx.VERTICAL)
panel.SetSizer(vbox_main)
grid = wx.grid.Grid(panel)
vbox_main.Add(grid, 1, wx.EXPAND | wx.ALL, 5)
grid.CreateGrid(len(datenzeilen), len(spaltennamen))
grid.SetColLabelSize(20)
grid.SetRowLabelSize(25)
for index, label in enumerate(spaltennamen):
grid.SetColLabelValue(index, label)
for row, zeilendaten in enumerate(datenzeilen):
for col, value in enumerate(zeilendaten):
grid.SetCellValue(row, col, value)
grid.SetReadOnly(row, col)
def main():
"""Testing"""
app = wx.PySimpleApp()
spaltennamen = (u"Vorname", u"Nachname", u"Ort")
datenzeilen = (
(u"Max", u"Mustermann", u"Bremen"),
(u"Moriz", u"Mustermann", u"Hausen"),
(u"Maria", u"Wurstlbrumpft", u"München"),
(u"Marion", u"Hupfer", u"Telfs"),
(u"Dani", u"Ella", u"Oberhofen"),
) * 20
f = MyFrame(spaltennamen = spaltennamen, datenzeilen = datenzeilen)
f.Center()
f.Show()
app.MainLoop()
if __name__ == "__main__":
main()