Meilleur Widget Qt à utiliser pour la fenêtre de propriétés?
Je veux un widget comme la fenêtre propriétés de Visual Studio ou NetBeans. Il y a deux colonnes: le nom de la propriété sur la gauche, et de la valeur sur la droite. La valeur doit être en mesure d'être restreint à certains types, comme 'bool' ou 'float' (avec plages valides), mais devrait également soutenir des types plus complexes (nécessitant peut-être une boîte de dialogue contextuelle lorsque vous cliquez dessus, et alors il peut simplement afficher un toString() de la version dans la fenêtre. Je suis sûr que je peux ajouter la plupart de ces caractéristiques, moi-même, mais ce qui est le meilleur de la base de widget pour commencer?
Oh... regroupement de propriétés est trop bonne (comme un arbre, je suppose). Et bien l'édition devrait appeler une fonction de rappel (envoyer un signal).
OriginalL'auteur mpen | 2009-08-17
Vous devez vous connecter pour publier un commentaire.
Qt designer a des propriétés exactement comme vous le souhaitez. Ils sont probablement mis en œuvre avec QTreeView. Vous pouvez toujours regarder le code source.
OriginalL'auteur Eugene
QTreeView ou QTableView. Faire tout (ok, la plupart) de levage lourds spécialisés dans l' modèle qui gère l'ensemble de votre type de restrictions et ce-pas. Découvrez les délégués.
href="http://qt-project.org/doc/qt-4.8/qabstractitemdelegate.html#createEditor" >qt-project.org/doc/qt-4.8/...
N'est-ce pas la même chose que setItemWidget? Les docs disent d'éviter l'utilisation et à utiliser un deletgate pourtant, le modèle semble utiliser les mêmes méthodes d'affichage des widgets?
Je suis confus. Voulez-vous dire que vous ne voyez pas de différence significative entre les délégués et setItemWidget?
QTreeWidget::setItemWidget docs disent "Cette fonction ne doit être utilisée pour afficher du contenu statique à la place d'un arbre widget élément. Si vous souhaitez afficher le contenu dynamique personnalisé ou de mettre en œuvre un éditeur personnalisé widget, utilisez QTreeView et la sous-classe QItemDelegate à la place." Mais il semble que QAbstractItemDelegate::createEditor se traduit par un appel à QTreeWidget::setItemWidget pour la "dynamique" du contenu, donc je ne sais pas pourquoi il a cet avertissement?
OriginalL'auteur Steve S