Results 1 to 12 of 12

Thread: How to connect mainwindow and dialog using signal,slot

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Sep 2013
    Posts
    44
    Thanks
    9
    Qt products
    Qt5
    Platforms
    MacOS X Windows Android

    Default Re: How to connect mainwindow and dialog using signal,slot

    I had tried the str method before, same error
    here is the place where I am opening the dialog
    Qt Code:
    1. void MainWindow::keyPressEvent(QKeyEvent *event)
    2. {
    3.  
    4.  
    5. int i=event->key();
    6. //char z=(char)i;
    7.  
    8.  
    9.  
    10.  
    11.  
    12. if(i>=48&&i<=57)
    13.  
    14. {
    15. QString s= QString::number(i-'0');
    16.  
    17.  
    18. q+=s;
    19. ui->lineEdit->setText(q);
    20.  
    21. }
    22. if(q.length()>20)
    23. {
    24. dialog =new Dialog();
    25. dialog->show();
    26.  
    27. }
    28.  
    29.  
    30.  
    31. }
    To copy to clipboard, switch view to plain text mode 

  2. #2
    Join Date
    Dec 2012
    Posts
    197
    Thanks
    25
    Thanked 41 Times in 33 Posts
    Qt products
    Qt4 Qt5
    Platforms
    Unix/X11 Windows

    Default Re: How to connect mainwindow and dialog using signal,slot

    well where is your connect statement ? is it being executed before the dialog instance is created ?
    add the connect statement under the line where you instantiate the dialog class ie under dialog= new Dialog(this) and see what happens

    the note about the "str" was just to avoid hard coding didn't have anything with the error.

  3. The following user says thank you to toufic.dbouk for this useful post:

    harvey_slash (9th October 2013)

  4. #3
    Join Date
    Sep 2013
    Posts
    44
    Thanks
    9
    Qt products
    Qt5
    Platforms
    MacOS X Windows Android

    Default Re: How to connect mainwindow and dialog using signal,slot

    my connect is in the mainwindow constructor.

    I put connect here now
    Qt Code:
    1. dialog =new Dialog();
    2. connect(ui->lineEdit, SIGNAL(textEdited(QString)), dialog, SLOT(seText(QString)));
    3. dialog->show();
    To copy to clipboard, switch view to plain text mode 

    its not showing any error, but the text is not getting displayed
    (I tried textChanged and textEdited ,both)
    Last edited by harvey_slash; 6th October 2013 at 19:07.

  5. #4
    Join Date
    Dec 2012
    Posts
    197
    Thanks
    25
    Thanked 41 Times in 33 Posts
    Qt products
    Qt4 Qt5
    Platforms
    Unix/X11 Windows

    Default Re: How to connect mainwindow and dialog using signal,slot

    Put a qDebug in the seText() and check if its being executed or not
    and try this maybe its a logical error
    Qt Code:
    1. if(q.length()>20)
    2. {
    3. ui->lineEdit->setText("test");
    4. dialog =new Dialog();
    5. connect(ui->lineEdit, SIGNAL(textChanged(QString)), dialog, SLOT(seText(QString)));
    6. dialog->show();
    7. ui->lineEdit->setText("test1");
    8.  
    9. }
    To copy to clipboard, switch view to plain text mode 

    it would have been really helpful and time saving if you just posted the complete code instead of parts of it every now and then...
    Last edited by toufic.dbouk; 6th October 2013 at 19:43.

  6. The following user says thank you to toufic.dbouk for this useful post:

    harvey_slash (9th October 2013)

Similar Threads

  1. Replies: 3
    Last Post: 23rd June 2013, 16:01
  2. signal slot to mainwindow
    By giugio in forum Newbie
    Replies: 3
    Last Post: 9th November 2012, 20:05
  3. Replies: 2
    Last Post: 15th September 2010, 00:54
  4. Can't connect a signal to a slot
    By cejohnsonsr in forum Newbie
    Replies: 5
    Last Post: 26th August 2010, 20:42
  5. problem connect signal - slot
    By jaca in forum Newbie
    Replies: 13
    Last Post: 9th March 2010, 19:38

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.