2014-02-27 111 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