找回密码
 立即注册
收起左侧

如何声明一个QFile file( const QString & name)全局变量

7
回复
13204
查看
[复制链接]
累计签到:4 天
连续签到:1 天
来源: 2013-12-3 21:23:17 显示全部楼层 |阅读模式
1Qter豆
  1. QString fileName;
  2. QFile file(fileName);
  3. QDataStream out(&file);
  4. MainWindow::MainWindow(QWidget *parent) :
  5.     QMainWindow(parent),
  6.     ui(new Ui::MainWindow)
  7. {
  8.     ui->setupUi(this);
  9. fileName=QFileDialog::getOpenFileName(this);
  10.     if(!(file.open(QIODevice::readonly)))
  11.        qDebug()<<"wrong";
  12. }
复制代码
我的本意是想申明一个QDataStream类型的全局变量,但是如上所写肯定会报错的,因为当时声明QDataStream out(&file)时,filename还是一个空值,但是放到初始化那一块的又不能申请全局变量了。。。。该如何是好

最佳答案

查看完整内容

你的整个设计都出问题,对象可以定义,但是你后面得有对应的操作
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-12-3 21:23:18 显示全部楼层
你的整个设计都出问题,对象可以定义,但是你后面得有对应的操作
回复

使用道具 举报

累计签到:1569 天
连续签到:1 天
2013-12-4 15:58:35 显示全部楼层
写到.h文件中吧。
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-12-4 16:20:47 显示全部楼层
yafeilinux 发表于 2013-12-4 15:58
写到.h文件中吧。

写到.h文件中与写到这边的最上边没有区别吧
回复

使用道具 举报

累计签到:1569 天
连续签到:1 天
2013-12-4 16:56:39 显示全部楼层
pursue 发表于 2013-12-4 16:20
写到.h文件中与写到这边的最上边没有区别吧

QFile file(fileName);
QDataStream out(&file);

把定义写到构造函数里面。
回复

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-12-4 19:50:58 显示全部楼层
yafeilinux 发表于 2013-12-4 16:56
QFile file(fileName);
QDataStream out(&file);

放在构造函数里就不算全局变量了呀
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-12-5 17:48:36 显示全部楼层
你全局变量都弄错了;
01.QString fileName;
02.QFile file(fileName);
03.QDataStream out(&file);
在这里  你的out对象所对应的文件是一个空文件
你只能QDataStream out;
然后在方法里面找到文件了 再把文件设置进去
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-12-5 17:49:30 显示全部楼层
还有就是QFile 那
全局变量的时候,QFile对象已经生成,在后面的代码 你只是把字符串变了,但是QFile对象没变
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了