-
Notifications
You must be signed in to change notification settings - Fork 737
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Strange behavior in the execution of WinId() in Qt5.13.0 #938
Comments
Hey I tried to reproduce it, but I always get:
with or without using I did use the Which Qt version do you use? The official Qt version? Or the "Fast track" version? edit: also does using |
thx.
I'm testing the probrem on
I used the official Qt on both MacOS and Linux and built using the latest
I will check, but maybe no difference. because I confirmed that executing |
I was able to reproduce it on Win10 with the same file that did work correctly on Win7. You can enable the standard output by using |
Thank you. |
I'd like to check again. I tried to build using And to avoid this situation temporarily, I'm thinking of building with a custom docker image. |
To use a custom docker image, just tag it like this: But I will make some changes to make something like Also btw, if you want to build a custom docker image with mxe and Qt 5.12, then you will just need to checkout some older commit here: https://github.com/therecipe/qt/blob/master/internal/docker/windows_64_shared/Dockerfile.base#L4 edit: you could also use the |
bc4f7f3 should make |
Thank you very much for the polite explanation and support.
I found that using the windows_64_shared_512 causes similar problems.
I'm sorry, I wasn't sure what changes I should make to the above. |
Sorry, mxe (the repo used to compile the cross compilable version of Qt) is always only supporting the latest version of Qt, so you would need to checkout an older commit (which for example still used Qt 5.12.3) of mxe first. This one for example mxe/mxe@fb59cba#diff-51048c913ea268d97b588dbe368ea37d should work. So you probably will only need to make these changes here: diff --git a/internal/docker/windows_64_static/Dockerfile b/internal/docker/windows_64_static/Dockerfile
index f7d20c40..0ecccb1e 100644
--- a/internal/docker/windows_64_static/Dockerfile
+++ b/internal/docker/windows_64_static/Dockerfile
@@ -13,7 +13,7 @@ ENV QT_MXE_STATIC true
COPY --from=therecipe/qt:linux /usr/local/go /usr/local/go
COPY --from=therecipe/qt:linux $GOPATH/bin $GOPATH/bin
COPY --from=therecipe/qt:linux $GOPATH/src/github.com/therecipe/qt $GOPATH/src/github.com/therecipe/qt
-COPY --from=therecipe/qt:windows_64_static_base /usr/lib/mxe /usr/lib/mxe
+COPY --from=akiyosi/qt:windows_64_static_base /usr/lib/mxe /usr/lib/mxe
RUN $GOPATH/bin/qtsetup prep
RUN $GOPATH/bin/qtsetup check windows
diff --git a/internal/docker/windows_64_static/Dockerfile.base b/internal/docker/windows_64_static/Dockerfile.base
index 144649f7..ea146099 100644
--- a/internal/docker/windows_64_static/Dockerfile.base
+++ b/internal/docker/windows_64_static/Dockerfile.base
@@ -1,7 +1,7 @@
FROM ubuntu:16.04 as base
RUN apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates git
-RUN git clone -q --depth 1 https://github.com/mxe/mxe.git /usr/lib/mxe
+RUN git clone -q https://github.com/mxe/mxe.git /usr/lib/mxe && cd /usr/lib/mxe && git checkout -f fb59cba9e2aa2aca8be0d92402adce14c3931af2
RUN apt-get -qq update && apt-get --no-install-recommends -qq -y install autoconf automake autopoint bash bison bzip2 flex g++ g++-multilib gettext git gperf intltool libc6-dev-i386 libgdk-pixbuf2.0-dev libltdl-dev libssl-dev libtool-bin libxml-parser-perl make openssl p7zip-full patch perl pkg-config python ruby scons sed unzip wget xz-utils lzip
RUN cd /usr/lib/mxe && make -j $(grep -c ^processor /proc/cpuinfo) MXE_TARGETS='x86_64-w64-mingw32.static' qt5 && rm -rf /usr/lib/mxe/log && rm -rf /usr/lib/mxe/pkg Then build the two images with something like:
and then use the final image like this: |
Sorry for the late reply. |
Hi,
I founded the strange behavior about
WinId()
.Problem
The size that can be obtained from
FrameGeometry()
varies depending on whether or notWinId()
is executed. It seems to exclude the frame size.This problem did not occur in the bindings with Qt 5.12.
MacOS does not have this problem. Windows only.
Steps to reproduce the problem
Run the following minimal reproduction program on Windows.
You can get the following.
The text was updated successfully, but these errors were encountered: