2017-01-19 3 views
0

私はビューとしてQTreeViewを、モデルとしてQAbstractItemModelを使用しています。 QTreeViewの1つの項目をクリック可能にすることはできますか?

は、私は右のビュークリッカブル、編集できない上、このフィールド(URL)を作りたいので、ユーザはそれと開いたURLをクリックすることができます: は、これは私のアプリが今見ている方法です。

XML:

<?xml version="1.0" encoding="utf-8"?> 
<ModMetaData> 
    <name>Hospitality</name> 
    <author>Orion</author> 
    <url>https://ludeon.com/forums/index.php?topic=11444.0</url> 
    <targetVersion>0.14.1241</targetVersion> 
</ModMetaData> 

敬具、マキシム。

+0

QTreeViewは、フィールドのURLがQTableViewに右側にあり、左側にあります。あなたはQTableViewのフィールドをクリックすることができるようにしたいのですか? – Trilarion

+0

申し訳ありませんが、私はそれを逃した。どちらもQTreeViewです。 –

答えて

1

まず最初にすることは、私たちがQModelIndexから、我々はアイテムを取得し、(私の場合にはon_clicked)スロットにクリックイベントを接続

その後
{your treeview}.setEditTriggers(QAbstractItemView.NoEditTriggers) 

でアイテムの編集を無効にされ、その結果、

QDesktopServices.openUrl(QUrl({your url})) 

完全なコード:

後者に関連したテキストは、我々はその後でオープニングURLを起動します

enter image description here

+0

興味深い解決策、ありがとう:) –

関連する問題