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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Про QTextBrowser в Qt3  (Прочитано 3705 раз)
CAP147
Гость
« : Июнь 12, 2006, 22:01 »

#include <qapplication.h>
#include <qtextbrowser.h>
#include <qpushbutton.h>
#include <qvbox.h>
#include <qfiledialog.h>
#include <qstring.h>

int main( int argc, char *argv[])
{
   QApplication app( argc, argv );
   QVBox *vbox = new QVBox( 0 );
   QPushButton *exit_button = new QPushButton( "quit", vbox );
QPushButton *set_text_button = new QPushButton( "set text ", vbox );

   QTextBrowser *tbrowser = new QTextBrowser( vbox );


   QObject::connect( exit_button, SIGNAL(clicked()),
          &app, SLOT(quit()));

    QObject::connect( set_text_button, SIGNAL(clicked()),
       tbrowser, SLOT(setSource( "e:/Developing/tmp/cd.txt" )) );


   app.setMainWidget( vbox );
   vbox->show();

   return app.exec( );
};

Почему-то setSource не коннектится на кнопку, то есть посто нажатие ничего не делает.
   Если просто втексте писать:
tbrowser->setSource(  "e:/Developing/tmp/cd.txt"  );
  то текст отображается нормально. Просьба помочь, априорно благодарен.
Записан
BaltikS
Гость
« Ответ #1 : Июнь 13, 2006, 08:53 »

А что за QT? Если 4, то я писал setSource("file://...");
Записан
DenKor
Гость
« Ответ #2 : Июнь 13, 2006, 09:20 »

В отладчике посмотри 2 вещи:
1.
QObject::connect( set_text_button, SIGNAL(clicked()),
tbrowser, SLOT(setSource( "e:/Developing/tmp/cd.txt" )) );
Выдается ли диагностическое сообщение, что не может соединить слот и сигнал.
2.
Вызывается ли метод setSource
Записан
CAP147
Гость
« Ответ #3 : Июнь 13, 2006, 09:45 »

Цитата: "BaltikS"
А что за QT? Если 4, то я писал setSource("file://...");


 "Про QTextBrowser в Qt3" - название темы, так что 3.
 Так метод работает, не работает приконнекченным на кнопку.

2Denkor:
 1) Нет;
 2) Просто без коннекта всё работает, я ж писал, при коннекте кнопка посто ничего не делает при clicked();
Записан
BaltikS
Гость
« Ответ #4 : Июнь 13, 2006, 14:59 »

Тогда фишка вот в чём, что в слоте нельзя передавать параметры функции, кроме тех, которые передаются в самих сигналах... Прийдётся написать новый слот, а в нём уже вызывать setSource()...
Записан
CAP147
Гость
« Ответ #5 : Июнь 13, 2006, 20:47 »

Цитата: "BaltikS"
Тогда фишка вот в чём, что в слоте нельзя передавать параметры функции, кроме тех, которые передаются в самих сигналах... Прийдётся написать новый слот, а в нём уже вызывать setSource()...


 Спасибо, разобрался.

QObject::connect( filedialog, SIGNAL(fileSelected( const QString & )),

          tbrowser, SLOT(setSource( const QString &  )) );

 Вот такое мне нужно было вцелом. А для клика таки пришлось бы слот дописывать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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