2013-05-30 42 views
1

擴大隻有一列我有這個QGridLayout:在QGridLayout

enter image description here

,當我有一個文件名和源名稱的價值我想補充他們在label1label2只有擴大爲足以讀取所有的字符串,第二列..

一些建議,在一個簡單的方法做這件事?

+0

您可以爲您的標籤上設置固定寬度左邊。這會起作用嗎? – thuga

+0

問題是我不知道我會設置的字符串的大小(它取決於從用戶選擇的文件)..我可以計算字符的數量和計算一個新的,但它取決於字體使用(和我計劃去改變它。)有沒有自動的方式說:「黑標籤,獲得固定顯示所有字符串」? – nkint

+0

我可能誤解了你的問題。我認爲你的問題是,當你將文件名添加到第二列時,兩列的大小都會被調整。現在看來,你正在尋找的第二列擴展到特定的大小,剛好足夠寬,以顯示它的內容。我對嗎? – thuga

回答

1

您可以通過QSizePolicy類做到這一點。使用QLabel的方法setSizePolicy()設置水平和垂直行爲。在你的情況,你需要在第一列設置QLabels的水平政策QSizePolicy::Maximum,所以它會採取只需要爲自己的空間;如果你想label1label2擴大,並採取一切可用的空間,使用QSizePolicy::Expanding

文檔 - http://qt-project.org/doc/qt-4.8/qsizepolicy.html#Policy-enum

此外,考慮增加拉伸到列 - http://qt-project.org/doc/qt-4.8/qgridlayout.html#setColumnStretch

+0

我剛剛發現我可以從Qt Designer工具中完成它,很好! – nkint