1

Qtプログラミングは初めてです。私がやりたいことは、私が推測するタイトルからほとんど自明です。作成した PushButton がクリックされたときにデータを QString に格納したい lineEdit があります。問題は、上記のウィジェットが graphicsScene 内にあるため、on_pushbutton_clicked(); がないことです。関数。

私自身のソリューションのコードを以下に示しますが、ご想像のとおり、機能していません。

QLineEdit *l = new QLineEdit ;
QPushButton *b = new QPushButton;

QGraphicsProxyWidget *line = scene.addWidget(l);
QGraphicsProxyWidget *button = scene.addWidget(b);

line->setPos(-600,270);
button->setPos(-600,310);
//b->clicked();

QString input;
QString input = l->text(input);


QObject::connect(b,SIGNAL (clicked()),l, SLOT (setText(QString)));

どんな種類の助けも大歓迎です。

4

1 に答える 1

2

ウィジェットを QGraphicsScene 内に配置すると、ここでどのように違いが生じるかわかりません。

  1. QLineEdit* m_lineEdit などのように、クラスに QLineEdit "l" へのポインタを保持します。

  2. b, SIGNAL(clicked()) をスロット buttonClicked() に接続します。

  3. 次のように buttonClicked を実装します。

    void MyWidget::buttonClicked() {
        const QString text = m_lineEdit->text();
        //do something with "text"
    }
    
于 2012-12-16T18:12:52.283 に答える