2017-02-17 3 views
1

QApplicationを初期化する前に、私の物理的な表示に関する情報を読むためのソリューションを探しています。私はQt 5.8のubuntuマシンで作業しており、ディスプレイのインチサイズとディスプレイの解像度に関する情報を得たいと思っています。 アイデアありがとうございました!QApplicationが実行される前にQScreenを取得する方法

EDIT: 私は出回っこれをtestet:QApplication

  • を作成

    1. は、プライマリQScreen
    2. が作成qscreen
    3. でものをやってはQApplication
    4. を終了し、削除読みますQWebEngineを含むメインアプリケーション< <クラッシュ

    このソリューションの問題は、QtWebEngineの初期化に近い問題です。セグメンテーションフォルトで破損します。QWebEngineProfile::defaultProfile()

  • +1

    QApplicationインスタンスを初期化する前に*なぜ*これを行う必要があるのか​​説明できますか?これは、ソリューションが他の場所にあるX-Y問題のように聞こえます。また、質問を編集して問題を示す[mcve]を含めると、より良い回答が得られます。 –

    +0

    あなたはそのようなことをする必要はありません。 'QApplication'を作成し、プログラムを終了するまでそれを保持してください。それがどのように使用されるのか、それがサポートする唯一の用途です。それ以外の場合は、あなたが提案した方法を踏む必要があると思われる理由を暴露してください:おそらく、それは何らかの誤解から始まるでしょう。 –

    答えて

    2

    QDesktopWidgetを使用して画面情報を取得できます。回避策として

    You can't get screen information before QApplication was created in your application.

    、あなたははQApplication初期化する前に起動する小さなユーティリティのための独立したプロジェクトを(それは例えば、QSettingsにそれらをコンソールまたは書き込むために、画面のパラメータをプリントアウトすることができます)、作成することができますあなたの主なアプリケーションから。

    +0

    ありがとう、QSettingsのアプローチは良いです、インラインソリューションはより良いだろうが、少なくとも私は失敗している –

    関連する問題