Russian Qt Forum
Ноябрь 24, 2024, 10:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как правильно передать значение?  (Прочитано 2896 раз)
МП©
Гость
« : Март 06, 2012, 17:16 »

Как правильно передать значение шрифта от одного лэйбла другому?
Если передаю аналогичным образом текст, то получается, а шрифт - нет.

Код
C++ (Qt)
файл.h
public slots:
   void mySlot();
   void on_pushButton_clicked();
 
signals:
   void moySignal(QFont);
 
private:
   Ui::MainWindow *ui;
    QFont m_nValue;
 
файл.cpp
 
MainWindow::MainWindow(QWidget *parent) :
   QMainWindow(parent),
   ui(new Ui::MainWindow)
{
   ui->setupUi(this);
   m_nValue(QFont ???);
   readSettings();
   QObject::connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(mySlot()));
   QObject::connect(this,SIGNAL(moySignal(QFont)),ui->label,SLOT(setFont()));
}
 
void MainWindow::mySlot()
{
   emit moySignal(m_nValue);
 
}
 
Записан
mutineer
Гость
« Ответ #1 : Март 06, 2012, 17:18 »

у сигнала есть параметр, а вот у слота не наблюдается. куда должен попадать m_nValue? он просто теряется

Да и setFont не слот
« Последнее редактирование: Март 06, 2012, 17:21 от mutineer » Записан
МП©
Гость
« Ответ #2 : Март 06, 2012, 17:32 »

 исправил
Код
C++ (Qt)
QObject::connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(mySlot(QFont)));
  QObject::connect(this,SIGNAL(moySignal(QFont)),ui->label,SLOT(myFont(QFont)));

у лэйбла нет стандартного слота,

если так создам?
Код
C++ (Qt)
void MainWindow::myFont()
{
ui->label->setFont(m_nValue)
}

и изначально как задать?
m_nValue(QFont Непонимающий);
Записан
mutineer
Гость
« Ответ #3 : Март 06, 2012, 17:36 »

Код
C++ (Qt)
QObject::connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(mySlot()));
...
void MainWindow::mySlot()
{
   ui->label->setFont(m_nValue)
}

что значит "как задать?" ?
Записан
МП©
Гость
« Ответ #4 : Март 06, 2012, 17:41 »

что значит "как задать?" ?

Код
C++ (Qt)
m_nValue(QFont);
 

Если просто QFont, то ругается, и как в нем определить значение шрифта лэйбла1, чтобы передать лэйблу2?
Записан
mutineer
Гость
« Ответ #5 : Март 06, 2012, 17:43 »

m_nValue = ui->label1->font()
Записан
МП©
Гость
« Ответ #6 : Март 06, 2012, 17:54 »

Все работает, спасибо большое Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.267 секунд. Запросов: 21.