私は10時間以内にグーグルで何も助けませんでした。QTシグナルとスロットは別の形式に変数を渡します
QTには2つのフォーム(.ui)があります。
最初mainwindow.ui - 私は、テーブルとテーブルの行のユーザーのクリックが、それは
二zobraz.ui
mainwindow.hに、このテーブル行の値を送信ここにある
signals:
void sendIntData(int data);
mainwindow.cpp
void MainWindow::on_tableView_doubleClicked(const QModelIndex &index)
{
zobraz1 = new zobraz(this);
zobraz1->show();
int o=index.row();
QString oo=QString::number(o);
ui->textEdit->setText(oo);
emit sendIntData(o);
connect(this, SIGNAL(sendIntData(int)),zobraz1, SLOT(setIntData(int)));
}
zobraz.h
答えをpublic slots:
void setIntData(int data);
public:
explicit zobraz(QWidget *parent = 0);
~zobraz();
private:
Ui::zobraz *ui;
int indexx;
};
zobraz.cpp
void zobraz::setIntData(int data)
{
indexx=data;
}
zobraz::zobraz(QWidget *parent) :
QDialog(parent),
ui(new Ui::zobraz)
{
ui->setupUi(this);
QString poradiee=QString::number(indexx);
ui->label_2->setText(poradiee);
おかげで多くのことを、私は悪いが何であるかを知りません。
私は、何もまだ、試した私は、テーブルに指定された行をクリックしたとき、それはまだlabel_2をzobraz.cppするために行番号をint型の変数を送信doesntの。 コンパイルされていますが、接続が機能しません。変数 "indexx"は変数 "o"と同じではありません – user2859429
申し訳ありません。あなたのコードをデバッグするには "qDebug()<<"関数を追加しようとします。 on_tableView_doubleClickedが呼び出されたかどうかを確認します。 – aldo85ita