Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: CAP147 от Июнь 12, 2006, 22:01



Название: Про QTextBrowser в Qt3
Отправлено: 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"  );
  то текст отображается нормально. Просьба помочь, априорно благодарен.


Название: Про QTextBrowser в Qt3
Отправлено: BaltikS от Июнь 13, 2006, 08:53
А что за QT? Если 4, то я писал setSource("file://...");


Название: Про QTextBrowser в Qt3
Отправлено: DenKor от Июнь 13, 2006, 09:20
В отладчике посмотри 2 вещи:
1.
QObject::connect( set_text_button, SIGNAL(clicked()),
tbrowser, SLOT(setSource( "e:/Developing/tmp/cd.txt" )) );
Выдается ли диагностическое сообщение, что не может соединить слот и сигнал.
2.
Вызывается ли метод setSource


Название: Про QTextBrowser в Qt3
Отправлено: CAP147 от Июнь 13, 2006, 09:45
Цитата: "BaltikS"
А что за QT? Если 4, то я писал setSource("file://...");


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

2Denkor:
 1) Нет;
 2) Просто без коннекта всё работает, я ж писал, при коннекте кнопка посто ничего не делает при clicked();


Название: Про QTextBrowser в Qt3
Отправлено: BaltikS от Июнь 13, 2006, 14:59
Тогда фишка вот в чём, что в слоте нельзя передавать параметры функции, кроме тех, которые передаются в самих сигналах... Прийдётся написать новый слот, а в нём уже вызывать setSource()...


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


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

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

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

 Вот такое мне нужно было вцелом. А для клика таки пришлось бы слот дописывать.