2017-05-08 32 views
0

指定我想提出一个标签文件的方向,然后点击一个按钮,并在另一个标签打开一个文件:打开一个QLabel

QFile file("/Users/Ignacio/Documents/3 curso/segundo semestre/cafeteria-2/txt/HEREGOESTHEFILE.txt"); 

if(!file.open(QIODevice::ReadOnly)) 
    QMessageBox::information(0,"info",file.errorString()); 
    QTextStream in (&file); 
    ui->cajagrande->setText(in.readAll()); 

所以,我想这样的事情

Char a [] = ui->label->text(); 
QFile file(a); 

if(!file.open(QIODevice::ReadOnly)) 
    QMessageBox::information(0,"info",file.errorString()); 
    QTextStream in (&file); 
    ui->cajagrande->setText(in.readAll()); 

但它没有工作。

感谢您的帮助

+0

你是什么意思的“它不工作”?另外“'char a [] = ui-> label-> text()'”显然是错误的 - 尝试“'QString a = ui-> label-> text()'”。 –

+0

尽可能多地提供关于错误的详细信息总是很重要的 - 你看到了什么?任何消息?日志? – yakobom

回答

0

要小心,你正在使用甚至在错误的文件,放入括号正确还有else条款。

QFile file(ui->label->text()); 

if(!file.open(QIODevice::ReadOnly)) { 
    QMessageBox::information(0, "info", file.errorString()); 
} else { 
    QTextStream in(&file); 
    ui->cajagrande->setText(in.readAll()); 
} 

注:一个QFile可以打开直接给出QString,无须转换为字符的指针的文件名。