1

私は C++ を学ぼうとしており、Qtフレームワークを使用しています。私が現在達成しようとしているのは、リソース ファイルからカスタム フォントを読み込むことです。これを実行するFile Foundと、コンソール ウィンドウに出力されます。コメントアウトされた行のコメントを外すと、エラーが発生します'search' was not declared in this scopeQt Creator私は objectName を に設定していますsearch。コメントアウトした行を書いたようにアクセスできると思ったのですが、できないと思います。私は何を間違っていますか?

int main(int argc, char *argv[]){
    QApplication a(argc, argv);
    Apollo w;
    w.show();

    int fontID(-1);
    QFile res(":/lib/fonts/SourceCodePro-ExtraLight.ttf");
    if(res.open(QIODevice::ReadOnly) == true){
        fontID = QFontDatabase::addApplicationFontFromData(res.readAll());
        if(fontID == -1){
            qDebug() << "File Not Found";
        }else{
            qDebug() << "File Found";
        }
    }
    //search.setFont(QFont("Source Code Pro ExtraLight", 26));

    return a.exec();
}
4

1 に答える 1

1

オブジェクト名は「検索」です。

オブジェクトは私が推測する GUI の一部なので、それにアクセスしたい場合は、次のようにする必要があります。

ui->search->setFont(...);

Qt Creator は非常にスマートで、一種の自動補完機能を提供します。ほとんどの場合、GUI のオブジェクトに対する提案が得られない場合は、それが間違っていることを意味します。

于 2013-07-17T05:09:41.700 に答える