2014-03-13 29 views
0

尋找在多列Q3ListView中水平滾動發生的問題的答案。我假設Q3ListView被用作升級到4.x的快速方法。遺留代碼,我的任務是使這個東西水平滾動。多列Q3ListView和水平滾動

列表視圖有兩列,其中第一列包含右側內容的標題,因此它始終顯示全文,因爲沒有任何文本很長。第二列可以有比我的24「屏幕可以顯示的更寬的文字(在翻轉它並查看工具提示時看到)

Q3ListView對象是在Designer中創建的,其中vScrollBarMode和hScrollBarMode都設置爲Auto(因爲條目數量非常大,所以垂直滾動條總是顯示,我可以上下滾動。當我看到第二列中的數據太長而無法使用寬度時,它總是有一個省略號(。)。如果我將Designer中水平回滾的定義更改爲AlwaysOn,我會看到水平滾動條,但它是灰色的,並且沒有句柄,即使文本太長可視區域

我只是想知道如何獲得func爲我的Q3ListView提供水平滾動條,可以滾動顯示第二列的全文。有什麼建議麼?

-

P.S. - 剛剛嘗試了一些新東西。我在Q3ListView對象的第二列調用了setColumnWidthMode()函數,如下所示:

myUi.myValueList->setColumnWidthMode(1, Q3ListView::Maximum); 

沒有什麼區別。在長文本的末尾還有一個省略號。

回答

0

這已經有一段時間,因爲我用QT3 :)

我甚至不具備構建我可以試一下用我的所有版本都沒有QT3堵塞二進制編譯。

不過,我期待的是:

setColumnWidthMode(1, Q3ListView::Maximum); 

會做你想要什麼。

如果不是,那麼執行此操作的時間可能是您的方案中的一個因素。

例如,它可能取決於您是已經添加了第二列,還是取決於您在此期間清除和重置的內容。這是因爲我認爲寬度模式存儲在列istelf中,因此刪除和添加列意味着模式設置被清除。

另一種方法是,當你調用

addColumn(標籤寬度);

使用寬度-1將寬度模式設置爲最大值。

您可以嘗試使用

setColumnWidth(W); 

的東西保證足夠大隻是爲了看看是否有您所期待的效果。

如果沒有,那麼一定要檢查您的事件順序,因爲您的專欄可能正在重新配置到其他地方,覆蓋您的更改。