簡體   English   中英

如何在QTreeView中的項目之間繪制連接

[英]How to draw connections between items in a QTreeView

我不知道如何在QTreeView繪制連接項目的線,如Tree Model下的圖片所示。 我的程序將在不同的平台上運行,因此使用不同的樣式。 我可以保證根據需要繪制項目嗎?

我覺得使用樣式表可能會出現問題,因為某些樣式不會打印出這樣的線條,而使用下划線可能會導致我遇到雙重繪圖的問題。

在此處輸入圖片說明

還有的文檔中的例子這里正好顯示你想要使用樣式表來實現的。

請注意,當您使用樣式表時,無論當前使用的QStyle是什么, QStyleSheetStyle都會插入 因此,如果您決定采用這種方式,則無論目標平台如何,都將以相同的方式覆蓋控件的外觀。

如果存在問題,則可以考慮僅將樣式表用於某些平台。 舉個例子:

#ifdef Q_OS_MAC
    myControl->setStyleSheet(":/my_stylesheet_for_mac.qss");
#endif

回到文檔中的示例,它使用一些包含所有各行(垂直,水平,分支等)的圖像以及::branch控件及其狀態來確定要使用的圖像。

結果是這樣的:

結果

顯然,您必須更改代碼以顯示vline圖片而不是箭頭。

作為副節點,我可能建議考慮使用本地樣式時為什么要這樣做。 如果您的應用程序具有本機外觀,則不應以任何方式對其進行更改。 也就是說,如果目標平台不渲染線以連接樹視圖項目,則您不應該添加這些線。

但是,如果不需要您的應用程序在所有目標平台上看起來都是本地的,則無論平台是什么,都可以考慮使用相同的樣式(例如Fusion )並提供相同的用戶體驗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM