2012-02-02 6 views
0

Qtプロジェクトでは、QLineEditという部分を入れていますが、データが入っていなくても、この問題は発生しません。私は何も持っていないと思っています。私はtextChangededitingFinished信号を使ってみましたが、それでも動作しません。これは私が試したものです:QLineEditの問題

numExtは時々私が入ると、私はテキストを取得しかし、それはすべての回

を動作しません。これはの宣言で押す必要があり、QLineEdit名前です

void MainWindow::on_numExt_textChanged(const QString &arg1) 
{ 
    ui->numExt->setText(arg1); 
} 

QLineEdit

<widget class="QLineEdit" name="numExt"> 
    <property name="font"> 
     <font> 
      <pointsize>6</pointsize> 
     </font> 
    </property> 
</widget> 

とui_mainwindow.hファイルに次のように表示されます

numExt = new QLineEdit(frame_5); 
numExt->setObjectName(QString::fromUtf8("numExt")); 
numExt->setFont(font); 
ここ

イム私は、フォームの任意の属性を変更しなかったデシベル

insertQuery = "update content set calle='" + ui->calle->text().toUtf8() + "', numExt='"+ ui->numExt->text().toUtf8() +"', numInt='"+ ui->numInt->text().toUtf8() +"', colonia='" + ui->colonia->text().toUtf8() + "', CP='" + ui->CP->text().toUtf8() + "' where folio='" + ui->Folio->text().toUtf8() + "'"; 
query.exec(insertQuery); 

にその値を保存するためにそれを使用。

私の目標はqlineeditにあるテキストを取得することです.1文字以上入力しても問題ありません。

+0

あなたは何をしようとしていますか?このコード例は意味をなさない。 textChangedスロットは、QLineEditのテキストが変更されたときに呼び出されます。次に、変更されたテキストをQLineEditに戻します。どうして? –

+0

ui-> numExt-> text()は、私が入力した場所に空文字列を返すので、QLineEditにそのテキストを強制的に設定しようとしました。 – Vordok

+0

ここで何を求めているのか分かりませんが、 numExtのtextChangedまたはeditingFinishedシグナルに応答してnumExtのテキストをarg1に設定することは、せいぜい冗長です。おそらくあなたが少し質問を明確にすることができれば、誰かが答えを出すことができるでしょうか? – kenrogers

答えて

2

あなたはQtCreator内の1つのようなデバッガを実行したときに自分の価値観が何であるかを確認する必要がありますような音:

  1. フィールドに入力何かバックフィールドへ
を送信されていただきました
  • これにより、問題がどこにあるのかがさらに絞り込まれます。
    :つまり、データの保存中か、データの取得中かを示します。

  • 1

    上記のコードで競合条件を作成しています。実際にシグナル/スロットを同じオブジェクトに変更すると、問題が発生します。編集中のテキストを編集中と同時に変更しないでください。より複雑なものにするために、LineEditブロックがスロットを処理するためにスロットが実際に呼び出される前に、LineEditブロックが複数の信号を放出しないという保証はありません。イベントループが実際にすべてを処理するブレークをいつ持っているかによって異なります。

    要するに:しないでください。代わりにあなたの最終目標が何であるかを説明し、おそらく問題の本当の原因を見つけることができます。

    +0

    素敵な名前! Hehe ... – Wes

    +0

    私は同意します!!!!!!!! [最小の文字制限を超えるには、多くの文字を入力しなければなりませんでした。もちろん、この追加で....] –

    +0

    それは私に空の文字列を送信しますが、私がイントロキーを押すと、私が入力した値を返します – Vordok

    関連する問題