2012-06-08 49 views
0

我使用QGridLayout並將佈局定義爲ui文件。放置到QGridLayout的小部件

我需要實現這樣的佈局:

|列0 |色譜柱1 |列2 |列3 |

|寬度足以適合文本|空白空間|寬度爲66-70的寬度編輯|寬度足以適合文本|

我的問題是列1和2

我應該使用哪種尺寸的政策,給予所有的可用空間,以第1列?

我想設置最小寬度= 66,最大寬度= 70到第2列和「擴大」寬政策到第1列

但由於某些原因,在這種情況下,第1欄擴展更多蝨它應該是和第2列小於66.

如果我將第1列的大小策略設置爲「最大」,比所有空間都給第2列。該列的寬度大於行編輯小部件,所以它不再對齊。

回答

1

除了單位,你正在做的一切正確。

我認爲你的線條編輯的寬度是以字符給出的,但是好像你用這個數字來設置以像素爲單位的寬度。

我將其設置方式如下:

qreal em = QFontMetricsF(ui.lineEdit->font()).width('m'); 
ui.lineEdit->setMinimumWidth(round(em*66)); 
ui.lineEdit->setMaximumWidth(round(em*70));