Russian Qt Forum

Qt => Вопросы новичков => Тема начата: qwyllum от Декабрь 03, 2012, 14:25



Название: Не выполняется перерисовка
Отправлено: qwyllum от Декабрь 03, 2012, 14:25
Доброго времени суток всем) возможно проблема не в перерисовке, а в чем-то другом. Суть: на форму в дизайнере кидаю метку, она по умолчанию имеет текст TextLabel. Далее, изменяю метку кодом программы:

label_OsName = new QLabel(ui->lb_osname);
 label_OsName->setText("Ubuntu");

Метка выводится, но отображает одновременно как текст TextLabel, так и текст Ubuntu. Может я просто каких-то ньюансов не понимаю?

Извините за глупый вопрос.


Название: Re: Не выполняется перерисовка
Отправлено: Bepec от Декабрь 03, 2012, 14:27
Незнание основ путает вас юных падаванов.

Ты двумя строчками создаёшь новую метку на старой и присваиваешь новой метке надпись Ubuntu.

А надо всего лишь
Код:
ui->lb_osname->setText("Windows 7 x64");


Название: Re: Не выполняется перерисовка
Отправлено: qwyllum от Декабрь 03, 2012, 14:44
Незнание основ путает вас юных падаванов.

Ты двумя строчками создаёшь новую метку на старой и присваиваешь новой метке надпись Ubuntu.

А надо всего лишь
Код:
ui->lb_osname->setText("Windows 7 x64");
Ахахах) большое спасибо, и вправду сглупил. Тут штука такая, что ui - приватная часть класса и получить доступ через dlg->ui->lb_osname->setText не получится, если ты вне класса. Поэтому я и использовал сторонние переменные) Скажите пожалуйста, как получить доступ к данным из любого места?


Название: Re: Не выполняется перерисовка
Отправлено: Bepec от Декабрь 03, 2012, 14:48
Код:
class parent:******
{
public:
void setText(QString inString)
{
ui->lb_osname->setText(inString);
}

};

class enemy :*******
{
private slots:
void on_pushButton_clicked()
{
parent->setText("Windows 7 x64");
}
}



Название: Re: Не выполняется перерисовка
Отправлено: qwyllum от Декабрь 03, 2012, 14:53
Огромное спасибо (: