• 8904阅读
  • 6回复

Qt 控制台 [复制链接]

上一主题 下一主题
离线qq419036154
 

只看楼主 倒序阅读 楼主  发表于: 2010-09-21
— 本帖被 XChinux 执行加亮操作(2010-09-21) —
写了个简单的Qt控制台程序,当运行的时候,控制台闪了一下,就不见了,这是怎么回事啊?
离线dbzhang800

只看该作者 1楼 发表于: 2010-09-21
控制台程序必须这样(执行完就退出嘛)。或许你用过VC一类的IDE,它会通过额外pause语句将窗口停住,这似乎误导了不少人。

当然,你可以通过加入输入语句或事件循环等将程序保持住
离线qq419036154

只看该作者 2楼 发表于: 2010-09-21
加入输入语句
QString str;
QTextStream in(stdin);
in >> str;
可还是不能停住窗口,事件循环不知道怎么写,您能再给点提示吗?
离线dbzhang800

只看该作者 3楼 发表于: 2010-09-21
引用第2楼qq419036154于2010-09-21 19:31发表的  :
加入输入语句
QString str;
QTextStream in(stdin);
in >> str;
可还是不能停住窗口,事件循环不知道怎么写,您能再给点提示吗?


你贴的代码应该可以工作才对。不会是你的程序其他部分有问题吧?

一般的Qt的控制程序

#include <QtCore/QCoreApplication>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    return a.exec();
}
离线qq419036154

只看该作者 4楼 发表于: 2010-09-23
引用第3楼dbzhang800于2010-09-21 20:05发表的 :
你贴的代码应该可以工作才对。不会是你的程序其他部分有问题吧?
一般的Qt的控制程序
.......

我的代码是
  1.  #include <QtCore/QCoreApplication>
  2. #include<QtSql>
  3. int main(int argc, char *argv[])
  4. {
  5.     QCoreApplication a(argc, argv);
  6.     QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
  7.     db.setDatabaseName(":memory");
  8.     if(!db.open()){
  9.         return false;
  10.     }
  11.     QSqlQuery query;
  12.     query.exec("create table student(id int primary key,name varchar)");
  13.     query.exec("insert into student values(1,'xiang')");
  14.     query.exec("insert into student values(2,zang)");
  15.     query.exec("insert into student values(3,wang");
  16.     query.exec("select * from student where id>=2");
  17.     while(query.next()){
  18.         int no=query.value(0).toInt();
  19.         QString name=query.value(1).toString();
  20.         qDebug()<<no<<name;
  21.     }
  22.     return a.exec();
  23. }

离线qq419036154

只看该作者 5楼 发表于: 2010-09-23
回 3楼(dbzhang800) 的帖子
QString str;
QTextStream in(stdin);
in >> str;
应该放在哪里?
离线qq419036154

只看该作者 6楼 发表于: 2010-09-23
回 3楼(dbzhang800) 的帖子
解决了,是我的代码写错了
快速回复
限100 字节
 
上一个 下一个