QColumnView
入力したい階層データ ソースがあります。データ ソースは、REST インターフェイスを使用してサーバーからデータを読み込みます。
階層が次のようになっているとしましょう。
Car_Manufacturer -> Car_Type -> Specific_Model -> Motor_Type
これを表示するには、 を使用するQColumnView
必要があります (これは顧客の要件であるため)。動作は次のようになっているはずです。
プログラムが起動するとCar_Manufacturer
、サーバーから が読み込まれます。項目の 1 つをCar_Manufacturer
クリックするCar_Type
と、選択した項目Car_Manufacturer
がサーバーから読み込まれ、新しい列に表示されます。をもう一度クリックするCar_Manufacturer
と、サーバーからデータを再度取得し、列を更新する必要があります。がCar_Type
クリックされると、このおよびのSpecific_Model
項目がサーバーから照会され、新しい列にロードされる必要があります... など。Car_Manufacturer
Car_type
データソースには次の API があります。
datasource.get_manufacturers(hierarchy) # hierarchy = []
datasource.get_car_type(hierarchy) # hierarchy = [manufacturer, ]
datasource.get_specific_model(hierarchy) # hierarchy = [manufacturer, car_type]
datasource.get_motor_type(hierarchy) # hierarchy = [manufacturer, car_type, specific_model ]
階層内の各要素は、アイテムの文字列キー表現です。アイテムがクリックされると、現在のアイテムの階層でこれについてコントローラーに通知する必要があります。
データソースを使用して項目がクリックされたときに、QColumnView が 1 つの項目の子を更新するようにするにはどうすればよいですか? 新しい階層レイヤーが追加または削除されたときに、これをどのように柔軟に保つことができますか?