2017-05-08 67 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,無須轉換爲字符的指針的文件名。