QT信号和时隙将变量传递到另一种形式
QT signal and slot pass variable to another form
我在谷歌上搜索了10个小时,没有任何帮助。
我在QT中有两个形式(.ui)。
第一个主窗口.ui - 我这里有表,当用户单击表行时,它会将此表行的值发送到
第二个 zobraz.ui
主窗口.h
signals:
void sendIntData(int data);
主窗口.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)));
}
佐布拉兹·
public slots:
void setIntData(int data);
public:
explicit zobraz(QWidget *parent = 0);
~zobraz();
private:
Ui::zobraz *ui;
int indexx;
};
佐布拉兹.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);
非常感谢您的回答,我不知道什么是不好的。
我没有
测试你的代码,但有一个问题与连接有关:必须在发出信号之前完成连接。所以你应该改变这些行:
emit sendIntData(o);
connect(this, SIGNAL(sendIntData(int)),zobraz1, SLOT(setIntData(int)));
自:
connect(this, SIGNAL(sendIntData(int)),zobraz1, SLOT(setIntData(int)));
emit sendIntData(o);
setintdata的问题vas。它应该看起来像这样。但IDK为什么。
void zobraz::setIntData(int data)
{
QString poradieee=QString::number(data+1);
ui->label_2->setText(poradieee);
indexx=data;
}
相关文章:
- 文本冒险游戏 - 如何区分一种项目类型与另一种项目类型以及如何构建项目类/子类
- 为什么一种算法在相同的时间复杂度下比另一种算法更快?
- 当 c++ 需要一种数据类型并获取另一种数据类型时会发生什么?
- 另一种类型的智能ptr,比如具有弱refs的unique_ptr
- 只需要知道我在c ++中打印模式的方式是否有效,或者有另一种方法可以有效地做到这一点
- void* 数组将元素转换为另一种类型
- 在C++中使用另一种语言
- 将 X 坐标从一种分辨率转换为另一种分辨率
- 在 c++ 中将一种结构类型分配给另一种类型
- 如何在一种方法中创建对象并在另一种方法中使用它
- 常量静态成员函数:有另一种方法可用吗?
- 将空基类优化对象强制转换为另一种类型是否会破坏严格的别名?
- 如何将程序从主发送到另一种方法
- 如何使用shared_ptr或推荐另一种方法(unique_ptr)
- 存储多种颜色并从一种颜色切换到另一种颜色
- QT信号和时隙将变量传递到另一种形式
- c++如何打印另一种类型的变量的String属性的值
- 将变量作为另一种类型读取
- 如何将变量从一种形式传递到另一种形式
- c++中另一种计算双类型变量的方法