Как я могу прочитать, какая запись данных выбрана в таблице? Можно ли отображать wxpython и tkinter в одном окне? - PullRequest
0 голосов
/ 11 октября 2019

На данный момент я готов написать свою собственную программу администрирования, которая отображает записи данных из базы данных в виде таблицы. Тем не менее, я не знаю, как я могу прочитать, какая запись выбрана в таблице. Я сделал все это с помощью 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...