2014-02-11 31 views
0

我的一位同事通過代碼創建了一個視頻播放器小部件。所以當我想在主滑塊的底部添加一個滑塊時,我遇到了麻煩。我試圖設定其出發點,但似乎沒有考慮到這一點。在QT中定位滑塊

我嘗試了一些基本功能,如setPosition,setGeometry但他們不工作。爲了更好地理解問題,我添加了圖像 我也粘貼了一個代碼片段,它將這些代碼片段合併在一起。

QHBoxLayout *basicControlsLayout = new QHBoxLayout; 
    basicControlsLayout->setMargin(0); 
    basicControlsLayout->addWidget(open_button_); 
    basicControlsLayout->addWidget(play_button_); 
    basicControlsLayout->addWidget(position_slider_); 
    basicControlsLayout->addWidget(stop_button_); 

    int* a, *b, *c, *d; 
    position_slider_->getContentsMargins (a,b,c ,d); 
    QRect r(*a, *b, *c-*a, *d-*b); 

    QHBoxLayout *basicScratchLayout = new QHBoxLayout; 

    // basicScratchLayout->setGeometry(r); 
    basicScratchLayout->addWidget (position_limit_slider_); 

那麼我如何讓這兩個對齊呢?

enter image description here

回答

2

最有可能的是QGridLayout你在這種情況下,想要的東西。我認爲,構建電網這樣會工作得很好,所以你的滑塊的大小和位置將始終保持同步: enter image description here

代碼,使其工作大約是這樣的:

QGridLayout *layout = new QGridLayout(); 
layout->addWidget (open_button_, 0, 0); 
layout->addWidget (play_button_, 0, 1); 
layout->addWidget (position_slider_, 0, 2); 
layout->addWidget (stop_button_, 0, 3); 
layout->addWidget (position_limit_slider_, 1, 2); 
0

enter image description here

Predelnik: 所以,這就是我得到的。謝謝 。 :)。我無法真正地按照你在前面的帖子中告訴我的那個問題,在那個問題上,我想超級強加三個,然而儘管如此,還是有最小,最大和跑步者的行爲。

+0

不客氣。也許我會研究一下,如果我有一些空閒時間,可以在沒有太多痛苦的情況下疊加它們。 – Predelnik