zzhcpp 发表于 2007-2-22 15:30:10

qt槽还是搞不定

#include <QApplication>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>
#include <QLineEdit>
#include <QtSql>
#include <QString>

class shiyan : public QWidget
{
Q_OBJECT
QPushButton *charu;
QPushButton *chaxun;
QLineEdit *bianji;
QSqlDatabase db;
QSqlQuery query;
public:
shiyan(QWidget *parent = 0);
public slots:
void charuzhi();
void huoquzhi();
};

shiyan::shiyan(QWidget *parent)
: QWidget(parent)
{
charu = new QPushButton("charu");
chaxun = new QPushButton("chaxun");
bianji = new QLineEdit();

QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(bianji);
layout->addWidget(charu);
layout->addWidget(chaxun);
setLayout(layout);

db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("zzh");
db.open();

connect(charu,SIGNAL(clicked()),this,SLOT(charuzhi()));
connect(chaxun,SIGNAL(clicked()),this,SLOT(huoquzhi()));



}


void shiyan::charuzhi()
{
QString zhi = bianji->text();
query.prepare("insert into biao values(?)");
query.addBindValue(zhi);
}
void shiyan::huoquzhi()
{
query.exec("SELECT a FROM biao");
while (query.next()) {
QString name = query.value(0).toString();
bianji->setText(name);

}
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
shiyan widget;

widget.show();
return app.exec();
}


make后的结果在附件,大家帮忙看看,谢谢啊

zzhcpp 发表于 2007-2-22 15:33:21

补充下,我qmake -project的时候已经对pro文家加了qt += sql指令,也qmake了。
系统是xp sp2,qt是4.2.2

zzhcpp 发表于 2007-2-23 17:24:34

搞定

Mikeandmore 发表于 2007-2-24 18:38:06

怎么搞定的???

zzhcpp 发表于 2007-2-24 21:12:23

把上面的东西拆开就可以了,把声明的东西放.h文件里,把实现和声明分开再编译就可以了,我还是看了qiliang的那本qt3的书,才得到的答案。
页: [1]
查看完整版本: qt槽还是搞不定