Qt C++类没有命名类型
Qt C++ class does not name a type
我正试图在查询后放入一个组合框,并将结果放入QtableView中。
我的查询有效,表视图显示结果,我的组合框接收第一列元素,但。。。
当我尝试对on_comboBox_pedido_currentIndexChanged进行新查询时,我的查询结果总是空的。
我试图将我的"Login-teste"声明类设置为公共类,并显示"'Login'不命名类型"
这是我的pedidos.h。我试着在这里创建一个公共测试!!!
#ifndef PEDIDOS_H
#define PEDIDOS_H
#include <QDialog>
#include <QTableView>
#include <QtWidgets>
namespace Ui {
class Pedidos;
}
class Pedidos : public QDialog
{
Q_OBJECT
public:
Login teste; // not working - "does not name a type" error
explicit Pedidos(QWidget *parent = 0);
~Pedidos();
private slots:
void on_pushButton_load_pedidos_clicked();
void on_comboBox_pedido_currentIndexChanged(const QString &arg1);
private:
Ui::Pedidos *ui;
};
#endif // PEDIDOS_H
这是我的pedidos.cpp
#include "login.h"
#include "pedidos.h"
#include "ui_pedidos.h"
Pedidos::Pedidos(QWidget *parent) :
QDialog(parent),
ui(new Ui::Pedidos)
{
ui->setupUi(this);
Login conn;
if(!conn.connOpen())
ui->label_pedidos_conn->setText("Falha na conexão ao Database");
else{
ui->label_pedidos_conn->setText("Database Ok");
conn.connClose();
}
}
Pedidos::~Pedidos()
{
delete ui;
}
void Pedidos::on_pushButton_load_pedidos_clicked()
{
Login conn;
QSqlQueryModel *modal=new QSqlQueryModel();
QSqlQuery *qry=new QSqlQuery(conn.mydb);
qry->prepare("SELECT pedido.id_pedido, usuarios.nome_user, endereco.bairro,
pedido.id_user, pedido.data FROM pedido
INNER JOIN usuarios ON pedido.id_user=usuarios.id_user
INNER JOIN endereco ON pedido.id_endereco=endereco.id_endereco
WHERE pedido.status=0");
qry->exec();
qDebug() << qry->lastError().text();
modal->setQuery(*qry);
modal->setHeaderData(0, Qt::Horizontal, "Pedido");
modal->setHeaderData(1, Qt::Horizontal, "Usuário");
modal->setHeaderData(2, Qt::Horizontal, "Bairro");
ui->tableView_pedidos->setModel(modal);
ui->comboBox_pedido->setModel(modal); // My ComboBox here!
ui->tableView_pedidos->resizeRowsToContents();
ui->tableView_pedidos->resizeColumnsToContents();
ui->tableView_pedidos->setColumnHidden(3, true);
ui->tableView_pedidos->setColumnHidden(4, true);
while(qry->next()){
QString usuario = qry->value(0).toString();
qDebug() << "id:" << usuario;
}
//qDebug() << (modal->rowCount());
}
void Pedidos::on_comboBox_pedido_currentIndexChanged(const QString &arg1)
{
QString id_pedido=ui->comboBox_pedido->currentText();
qDebug() << id_pedido;
QSqlQueryModel *modal2=new QSqlQueryModel();
//works until here...if uncomment any line from here nok
Login meudb; // this line uncommented, query on pushbutton is not working ( blank )
//QSqlQuery *qry=new QSqlQuery(meudb.mydb);
//meudb.connClose();
}
如果我评论行"登录meudb",查询结果是可以的。
所以我尝试创建一个全局的"Login-teste"来代替我的本地"Login-conn"。
我在这里读了很多文章。
提前感谢
在你的文件pedidos.h:中试试这个
#ifndef PEDIDOS_H
#define PEDIDOS_H
#include <QDialog>
#include <QTableView>
#include <QtWidgets>
class Login;
...
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 防止主数据类型C++的隐式转换
- 大量序列中核苷酸类型的快速计数
- 如何从C++中的依赖类型中获得它所依赖的类型
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 是否可以初始化不可复制类型的成员变量(或基类)
- 如何获取std::result_of函数的返回类型
- 从父命名空间重载类型
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 访问者访问变体并返回不同类型时出错
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 模板元程序查找相似的连续类型名称
- 是否可以从int转换为enum类类型
- 构造函数正在调用一个使用当前类类型的函数
- 我应该使用什么来代替void作为变体中的替代类型之一
- 类中的字符串不命名类型