2012-10-14 59 views

回答

2

你試過嗎?

// remove all tabs after current 
for (int i = tabWidget.count() - 1; i > tabWidget.currentIndex(); --i) { 
    tabWidget.removeTab(i); 
} 

// current tab is now the last, therefore remove all but the last 
for (int i = tabWidget.count(); i > 1; --i) { 
    tabWidget.removeTab(0); 
} 
+0

這可能會因爲每次刪除一個低於currentIndex的等級的選項卡而改變此索引以及count。最好的辦法是從後面開始,並清除currentIndex上方的所有標籤。然後你開始並刪除所有標籤,但最後一個。 – rpsml

+0

@rpsml你是對的,我想我現在修好了。 – mauve

+0

在您的代碼淡紫色與我有同樣的錯誤之前。您的固定碼具有小的錯誤:對(INT I = UI-> tabWidget->計數() - 1; I> UI-> tabWidget-> CURRENTINDEX(); --i){ UI-> tabWidget-> removeTab (一世); } //當前標籤現在是最後一個,因此除去最後一個 (int i = ui-> tabWidget-> count()/ * - 1 * /; i> 1; --i){ ui-> tabWidget-> removeTab(0); } 該代碼正常工作。但非常感謝你淡紅色和rpsml :) – Kam

相關問題