2014-02-27 32 views
0

我的應用程序中有兩個標籤。他們都在每個標籤中。現在,我想通過使用在標籤更改時在這些標籤之間切換的指針在這些標籤之間移動。使用指針在Qt Creator中的其他兩個指針之間切換Ui

我ui_mainwindow.h定義:

ProLabel *imageLabel; 
    ProLabel *imageLabel_1; 
    ProLabel *imageLabel_2; 

但只有imageLabel_1和imageLabel_2在GUI中顯示。我添加了第三個標籤(imageLabel),將它用作變量來在標籤(1/2)之間切換。所以我在一個證明tab改變的插槽中寫了follwing代碼。因此,如果選項卡被更改,則其它imageLabel_1/2(指針)應在孔代碼中使用,當它顯示:imageLabel時。

我的插槽中時,標籤更改:

if(tab == 0) 
{ 
    this->ui->imageLabel = this->ui->imageLabel_1; 
} 
else{ 
    this->ui->imageLabel = this->ui->imageLabel_2; 
} 

我還設置磨片創建主窗口的imageLabel_1。窗戶像正常一樣消失。但是,如果我嘗試加載圖像(比它應該在imageLabel中顯示圖像),它會崩潰。

不知道是否可以理解。有沒有人有一個想法,如果我可以處理這樣的指針..或如何做到這一點不同?

謝謝!

+0

我會建議交換,而不是標籤的標籤內容。 – vahancho

+0

但兩個標籤顯示在兩個不同的選項卡中。我不知道如何管理我寫的所有函數也可以在選項卡2中工作......無需爲每個選項卡編寫所有代碼兩次:/ – PixelBanana

+0

您不需要複製代碼。你可以簡單地做:'this-> ui-> imageLabel-> setText(this-> ui-> imageLabel_1-> text());'。圖像相同。 – vahancho

回答

0

兩種更簡單的方法:1)更改標籤內容,包括圖像或其中包含的文本,或者2)將標籤設置爲隱藏ui->label2->isVisible(false)

+0

,這樣我有2個標籤,但一個標籤。 (不是每個標籤的標籤都像我現在這樣)?如何在2個選項卡中顯示相同的標籤? :) – PixelBanana

+0

@PixelBanana:將每個選項卡視爲自己獨特的區域,通常應該包含它自己的獨特元素,這會創建一個分離級別,以便更改一個不會意外地影響另一個。所以每個標籤都應該有它自己的子標籤。 –

+0

好吧,我已經有兩個標籤。一個在tab1中,一個在tab2中。我實現了一個在tab1(label1)中加載圖像的按鈕。但該按鈕不適用於tab2(label2)。因爲我在代碼(其他按鈕等)中的許多不同位置寫了label1,我想使用一個類似變量的東西,我可以用label2/label1覆蓋它。所以我不必在乎代碼中的所有其他位置。清楚我的意思嗎? :)(編輯:我只寫在我的代碼label1 .. label2失蹤) – PixelBanana