私はフルスクリーンを作ろうとしているアプリケーションを持っています。他の記事で、コード内で何をすれば画面のサイズがわかるはずです。Qtは常に私の画面サイズが0であると言います
double MainSpace::getScopeX(paintBox* window){
QDesktopWidget temp;
QRect size = temp.screenGeometry(window);
return size.width() * window->scale;
}
私はその値を変更して(スケール)値を持つウィンドウを持っているので、そのポインタを渡します。
次に、QDesktopWidget :: screenGeometry()を使用してウィンドウの画面ジオメトリを取得しますが、width()メソッドとheight()メソッドは常に0を返します。私はスクリーンがまだスクリーンに存在していなかったと思っていたかもしれません。なぜなら、そこに何もなかったので0を返していたかもしれないが、screenCount()は1を正常に返します。なぜ私のメソッドは常に0を返しますか?
あなたは肯定的な 'window-> scale!= 0'ですか?また、QDesktopWidgetが動作するにはOS固有の呼び出しが必要であることに注意してください。あなたのOSはQDesktopWidgetによってサポートされていますか?また、独自のインスタンスをインスタンス化するのではなく、 'QApplication :: desktop()'を使用してください。 – alediaferia
インターネットで質問を投稿する前に、マニュアルをお読みください。http://doc.qt.io/qt-5.6/qdesktopwidget.html – Drop