4

私は wx のデモを何時間も見てきましたが、これについて頭を悩ませることはできません。

データベースから情報を取得し、その列と値を表示専用のグリッドに保存する必要があります (現時点では)

自分のデータで実装できるように、誰かがそれを行う方法のサンプル スクリプトを作成してくれませんか。必要なグリッドは固定されており、パネル (wx.notebook のページ) 内に収まります。その部分の実行方法は知っていますが、パネル内にグリッドを取得して配置する方法がわかりません。

追加情報: 私のデータベースには顧客情報 (名前、電話番号、電子メール) が保持されています

4

2 に答える 2

5

wx.grid.PyGridTableBaseを使用してグリッドのデモを見ていて、関連している場合は、その通りです。これは本当に不可解なコードのようです。ただし、重要な方法は次のとおりです。

def GetValue(self, row, col):
        return 'something'

アイデアは、あなたがあなたのデータを持っているなら

self.data = [[1,2,3,4],
             [5,6,7,8],
             ........
             ] 

次に、これによりデータが対応するセルに配置されます。

def GetValue(self, row, col):
     return str( self.data[row][column] )

self.dataデータベースを表します)

静的データまたはMySQLデータベースからのデータでwx.grid.Gridを使用する他のより簡単な例については、これこれを確認できます。

セルをwx.grid.Gridで埋めるために使用される方法は次のとおりです。

mygrid.SetCellValue(row, col, databasevalue4rowcol)
于 2012-06-23T19:35:02.320 に答える
0
import itertools as it
import pandas as pd

df = pd.DataFrame({'A': [1.1, 2.7, 5.3], 'B': [2, 10, 9], 'C': [3.3, 5.4, 1.5], 'D': [4, 7, 15]},
                      index = ['a1', 'a2', 'a3'])

for row, col in it.product(range(len(df)), range(len(df.columns))):
    print ("mygrid.SetCellValue({0}, {1}, {2})".format(row, col, df.iat[row, col])) # **

# Results : 
# mygrid.SetCellValue(0, 0, 1.1)
# mygrid.SetCellValue(0, 1, 2)
# ...
# mygrid.SetCellValue(2, 3, 15)

** 実用的な理由から、上記のコードでは print(...) を使用しています

print(...) の代わりに実際のコードで次を使用します。

mygrid.SetCellValue(row, col, str(df.iat[row, col]))
于 2021-07-23T21:25:40.407 に答える