我已經將QLabel小部件添加到我的QTreeWidget中,以解決QTreeWidget中的單詞環繞問題。 (見how to word wrap a QTreeWidgetItem)。 QLabel小部件似乎在文本週圍留有空間,出於某種原因文本換行時會消失。當標籤文本爲空時,它也不會顯示。在QTreeWidget中從QLabel中刪除空間
我試着在QLabel上設置setContentsMargin(0,0,0,0)
,但沒有奏效。我也試過setStyleSheet("border: 0px; margin: 0px; padding: 0px;")
,這也沒有幫助。
截圖:
你可以看到,它取決於描述的長QT是否決定把周圍的單詞間距緩衝。它只發生在單詞換行啓用時。進一步遊戲似乎表明它依賴於描述字符串中的空格。字符串中沒有空格可以防止單詞附加空間。可能與QLabel用word wrap屬性做了什麼有關。
# This code is Ruby because I'm using the qtbindings gem
tree = Qt::TreeWidget.new
tree.setColumnCount(2)
tree.setHeaderLabels(["Name", "Description"])
top_node = Qt::TreeWidgetItem.new(["top"])
top_node.setCheckState(0, Qt::Unchecked)
tree.addTopLevelItem(top_node)
desc_label = Qt::Label.new("description")
desc_label.setWordWrap(true) # Remove and it works
tree.setItemWidget(top_node, 1, desc_label)
node = Qt::TreeWidgetItem.new(["test1"])
node.setCheckState(0, Qt::Unchecked)
top_node.addChild(node)
desc_label = Qt::Label.new("description1 is long and very interesting")
desc_label.setWordWrap(true) # Remove and it works
tree.setItemWidget(node, 1, desc_label)
你可以發佈問題的屏幕截圖嗎?我剛剛嘗試過,並且在文本週圍沒有看到任何額外的邊距。 –
另外,提供一些代碼,以重現問題。 – lpapp
我已經添加了屏幕截圖,代碼和更好的解釋發生了什麼以及爲什麼。 – Jason