crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
> QHeaderView Как узнать ширину ВСЕЙ области заголовка ?
flankerr
  опции профиля:
сообщение 21.9.2009, 14:21
Сообщение #21


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Ну так я и говрю что результат от
QMetaObject::invokeMethod(Qt::QueuedConnection)
и
emit MySignal (соеденённый со слотом)
будет одинаковым.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 21.9.2009, 14:52
Сообщение #22


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Разница в количестве писанины и в том, что sender() будет возвращать 0, если метод был вызван через QObject::invokeMethod():

Q_SIGNAL void queueMethodSignal();
...
Widget::Widget(QWidget *parent)
    : QWidget(parent), ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(this, SIGNAL(queueMethodSignal()), SLOT(queueMethodSlot()), Qt::QueuedConnection);
    emit queueMethodSignal();
}


Кстати сигналы можно эмитить не только изнутри объектов:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    emit w.queueMethodSignal();
    w.show();
    return a.exec();
}


Но в этом случае сигнал должен быть public.

Сообщение отредактировал SABROG - 21.9.2009, 15:13
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 21.9.2009, 15:51
Сообщение #23


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(flankerr @ 21.9.2009, 18:21) *
Ну так я и говрю что результат от
QMetaObject::invokeMethod(Qt::QueuedConnection)
и
emit MySignal (соеденённый со слотом)
будет одинаковым.
при соединении с Qt::QueuedConnection, да
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 21.9.2009, 15:55
Сообщение #24


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


читал эту тему(про сигналы и слоты) последний раз основательно в 3.3.4 и там точно помню что все сигналы protected.
и вызвать их не из содержащего класса напрямую нельзя.

Сообщение отредактировал kwisp - 21.9.2009, 15:58
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 21.9.2009, 16:02
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(kwisp @ 21.9.2009, 16:55) *
читал эту тему(про сигналы и слоты) последний раз основательно в 3.3.4 и там точно помню что все сигналы protected.
и вызвать их не из содержащего класса напрямую нельзя.


Qt'шные сигналы protected, а свои можно какими угодно сделать и sender() валидный приходит.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 21.9.2009, 16:05
Сообщение #26


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


SABROG,
интересно зачем разработчики сделали по умолчанию signals в секции protected.
никто не задумывался.
?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 21.9.2009, 16:11
Сообщение #27


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(kwisp @ 21.9.2009, 17:05) *
SABROG,
интересно зачем разработчики сделали по умолчанию signals в секции protected.
никто не задумывался.
?


Вероятно, чтобы никто другой не мог "подделать" сигнал объекта. Разделение границ.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


7 чел. читают эту тему (гостей: 7, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.12.2024, 14:01