Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Signal, como saber qual objeto o enviou
Forum Updated to NodeBB v4.3 + New Features

Signal, como saber qual objeto o enviou

Scheduled Pinned Locked Moved Portuguese
15 Posts 3 Posters 6.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    anselmolsm
    wrote on last edited by
    #5

    O código do seu segundo post é uma solução possível, mas por que não herdar direto de QPushButton? :-)

    mybutton.h:
    @
    #ifndef MYBUTTON_H
    #define MYBUTTON_H

    #include <QPushButton>

    class MyButton : public QPushButton
    {
    Q_OBJECT
    public:
    explicit MyButton(QWidget *parent = 0);

    signals:
    void myClicked(QString);

    public slots:
    void callSignal();
    };

    #endif // MYBUTTON_H
    @

    mybutton.cpp:
    @

    #include "mybutton.h"

    MyButton::MyButton(QWidget *parent) :
    QPushButton(parent)
    {
    connect(this, SIGNAL(clicked()), SLOT(callSignal()));
    }

    void MyButton::callSignal() {
    emit myClicked(text());
    }
    @

    Anselmo L. S. Melo (anselmolsm)

    1 Reply Last reply
    0
    • A Offline
      A Offline
      anselmolsm
      wrote on last edited by
      #6

      Agora vamos à questão sobre a barra de rolagem.

      Apenas colocar botões dentro de um layout não fará aparecer uma barra de rolagem. Para isso, você precisa de uma "QScrollArea":http://developer.qt.nokia.com/doc/qt-4.8/qscrollarea.html.

      Segue um exemplo que poderia ser aplicado ao seu caso. Assuma que MyWidget é o widget que contém seus botões colocados no QHBoxLayout.

      @
      int main(int argc, char *argv[])
      {
      QApplication a(argc, argv);

      MyWidget w;
      QScrollArea sc;
      sc.setWidget(&w);
      
      QMainWindow mw;
      mw.setCentralWidget(&sc);
      mw.show();
      
      return a.exec&#40;&#41;;
      

      }
      @

      Agora, algumas perguntas/pensamentos:

      • O que você tem em mente com essa relação de botões e abas? Ficou a sensação de que está tentando fazer algo como o que "QTabWidget":http://developer.qt.nokia.com/doc/qt-4.8/qtabwidget.html já faz.
      • Se não for esse o objetivo, em termos de UX ("experiência do usuário"), é mesmo uma boa idéia essa combinação de vários botões x barra de rolagem?

      Espero ter ajudado,
      Anselmo

      Anselmo L. S. Melo (anselmolsm)

      1 Reply Last reply
      0
      • W Offline
        W Offline
        Waltton.scm
        wrote on last edited by
        #7

        Bem, eu estou tentando criar um fórum, deve pensar, cara louco, todos me aconselharam fazer na web msm, mas eu quero fazer com Qt( através de FTP), por mais que eu não consiga deixa-lo funcionando eu ja adquiri e continuo adquirindo um bom conhecimento no Qt que é o objetivo principal.
        Quanto a tentar herdar direto o QPushButton, eu tentei mas acho qui fiz alguma coisa errada, vou tentar fazer de novo herdando direto o QPushButton.

        Obrigado pela atenção, sou iniciante e tudo que sei aprendi só na internet, como eu não sei inglês, muitas vesses fica difícil.

        Qualquer resultado novo eu posto aqui.

        1 Reply Last reply
        0
        • W Offline
          W Offline
          Waltton.scm
          wrote on last edited by
          #8

          Eu consegui colocar a barra de rolagem, fazendo a classe MyButton herdar direto da QPushButton.
          !http://img860.imageshack.us/img860/2622/capturarq.gif(^^)!

          1 Reply Last reply
          0
          • W Offline
            W Offline
            Waltton.scm
            wrote on last edited by
            #9

            Mais um problema, bem parecido com esse anterior da barra de rolagem, vou postar duas imagens, uma onde não precisa da barra de rolagem e fica certinho...

            !http://img819.imageshack.us/img819/1702/cap01z.gif(...)!

            e outra onde precisa e fica um widget sobre o outro...

            !http://img69.imageshack.us/img69/2057/cap02.gif(...)!

            o problema me parece ser o mesmo, o outro eu resolvi fazendo a classe MyButton herdar direto da QPushButton, mas dessa vez não tem como pois o widget que eu insiro no Layout é o pai de um conjunto de outros widgets.

            1 Reply Last reply
            0
            • A Offline
              A Offline
              anselmolsm
              wrote on last edited by
              #10

              Onde deveria aparecer essa barra de rolagem, dentro da primeira célula da coluna tópico? Aquilo é o widget que você está disse estar tentando inserir?

              Anselmo L. S. Melo (anselmolsm)

              1 Reply Last reply
              0
              • W Offline
                W Offline
                Waltton.scm
                wrote on last edited by
                #11

                a barra de rolagem aparece pois eu coloquei ScrollBarAlwaysOn...
                !http://img15.imageshack.us/img15/209/cap01.gif(..)!

                !http://img195.imageshack.us/img195/2057/cap02.gif(..)!

                ela aparece mas não funciona, os widgets vão se "apertando" e se sobrepondo, deveria ficar todos como na primeira imagem.

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  anselmolsm
                  wrote on last edited by
                  #12

                  Opa,

                  Coloca o trecho de código em que vc faz isso, fica mais fácil ajudar do que olhando só as imagens.

                  Anselmo L. S. Melo (anselmolsm)

                  1 Reply Last reply
                  0
                  • W Offline
                    W Offline
                    Waltton.scm
                    wrote on last edited by
                    #13

                    eu consegui concertar isso, eu coloquei no frame o tamanho minimo aí quando coloco muitos eles não diminuem de tamanho.
                    Desculpa o incomodo dessa vez. :/

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      anselmolsm
                      wrote on last edited by
                      #14

                      Não precisa pedir desculpas :-)

                      Anselmo L. S. Melo (anselmolsm)

                      1 Reply Last reply
                      0
                      • F Offline
                        F Offline
                        flaviomarcio
                        wrote on last edited by
                        #15

                        é facil amigo

                        vc sempre tem o objeto em

                        #include <QObject>

                        QObject::sender()

                        ai para converter para a classe que vc precisa vc faz

                        QPushButton b=return static_cast<QPushButton>( QObject::sender() );

                        espero ter ajudado

                        Flavio Portela

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved