回答:
短くて甘い:
Change vector datasource
。OK
で、設定を変更せずにヒットします。基本的に、ベクトルデータソースを既にあるものに「変更」しますが、これによりQGISはレイヤー定義を再読み込みします。
Linux Mint 17.2上のQGIS 2.14でテスト済み。
PostGISデータベースで作業していると仮定すると、ANALYSE
関数
http://www.postgresql.org/docs/current/static/sql-analyze.htmlを使用して、目的のテーブルの統計を更新できます。
あなたの場合、添付された画像でマークされたボタンを押して、同じくマークされてANALYSE
いるウィンドウでステートメントを実行することにより、DBマネージャー内でステートメントを実行できます。クエリは次のようになりANALYSE yourschema.yourtable
ます。analyzeコマンドはテーブルを更新する必要があります。そのため、再度情報にアクセスすると、行った変更が反映されます。
列に変更が加えられた後にQGISでテーブルを更新するつもりであれば、よく理解できますか?
私の知る限り、プロジェクトを閉じてから開くか、テーブルを再度追加するだけでこれが実現します。データベースにデフォルトのスタイルを保存している限り、これが最速の方法かもしれません。
フィールド計算機で列を追加すると、変更はすぐに表示されますが、DBマネージャーはフィールドタイプの定義をより細かく制御できるため、なぜそれが解決策ではないのか理解できます。
layer.dataProvider().forceReload()
トリックを行う必要があります