2013-04-11 65 views
0

我的問題很簡單:我如何在QScrollArea中設置一個QScrollBar。我已經測試了很多東西,但沒有任何工作......也許這是一個問題,在QTabWidget中設置QScrollArea?下面是代碼:QScrollBar + QScrollAera在QTabWidget

void GamesWindow::createTabSucces() 
{ 
    std::string nameImg; 

    _succesPage = new QWidget(_tab); 
    _tab->addTab(_succesPage, "  Succes  "); 

    scrollArea = new QScrollArea(_succesPage); 
    scrollArea->setBackgroundRole(QPalette::Dark); 
    scrollArea->setFixedSize(500,500); 
    /* Integration of QScrollBar */ 
    for (int i = 0; i < 45; i++) 
    { 
     nameImg = "img/allAchiv/"; 
     nameImg += intToString(i + 1); 
     nameImg += ".jpg"; 
     _imgSucc[i] = new QLabel(scrollArea); 
     _imgSucc[i]->setPixmap(QPixmap(QString(nameImg.c_str()))); 
     _imgSucc[i]->setGeometry((14 + (85 * (i % 5))), 46 + ((i/5) * 85), 60, 60); 
    } 
} 

事實上,我在創建QScrollArea(如8-9線的圖片),但只有5是可見的,其他都隱藏一個選項卡中添加圖片,因爲他們是在底部,超出了定義的區域。

有什麼想法?謝謝。

回答

0

我幾乎可以肯定,你不能添加滾動到一個標籤小部件,但我的想法是試着製作更多的標籤,可以顯示,看看是否默認滑塊。

+0

我不想將滾動添加到我的選項卡小部件,而是添加到選項卡小部件上的scrollArea。 – Zat42 2013-04-11 00:54:30

+0

我的錯誤我誤解了它。 檢查此QAbstractScrollArea :: horizo​​ntalScrollBarPolicy或 QAbstractScrollArea :: verticalScrollBarPolicy。 – Goran 2013-04-11 01:18:23

1

您必須:

  • 佈局添加到您的網頁(QVBoxLayout
  • 滾動區域添加到頁面佈局
  • 添加一個佈局在滾動區域的viewport()部件(QVBoxLayout
  • 添加QLabels到口布局

這樣你就不需要在每個標籤上調用setGeometry