-
Notifications
You must be signed in to change notification settings - Fork 170
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
Print hook not working #61
Comments
How do you connect to the signal? |
As I said, I've tried every way I know. QObject::connect(d_hotkey, SIGNAL(activated()), this, SLOT(printCaught()));
QObject::connect(d_hotkey, SIGNAL(activated(QPrivateSignal)), this, SLOT(printCaught(QPrivateSignal)));
QObject::connect(d_hotkey, &QHotkey::activated, this, [&](){
...
});
QObject::connect(d_hotkey &QHotkey::activated, this, &TrayHandler::printCaught); TrayHandler is the type of *this. I think there were a few more I tried but I don't remember. |
This message just says that you connected it wrong. Probably from one of the attempts. But last two are 100% good. So the shortcut is not emitted for some reason. |
Hm.. I get the warning on the lambda one so that's interesting. I also thought it would be good since that's in the example in the readme. |
Also, just to clarify, |
That's impossible.
Right. |
I can't reproduce it, the example from the README works jut fine for me without this message. It could be cause only by the old connect syntax. Something wrong with your code. |
Could it be with the way I add the dependency? Cmake code: find_library(QHOTKEY_LIBRARY NAMES qhotkey1 QHotkey1 HINTS "${CMAKE_PREFIX/lib}")
target_link_libraries(QuickScreenshot PRIVATE ${QHOTKEY_LIBRARY}) |
You probably using it wrong. Try this one: cmake_minimum_required(VERSION 3.16)
project(project LANGUAGES CXX)
include(FetchContent)
option(QHOTKEY_INSTALL OFF)
FetchContent_Declare(QHotkey
GIT_REPOSITORY https://github.com/Skycoder42/QHotkey
GIT_TAG 1.4.2
)
FetchContent_MakeAvailable(QHotkey)
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} PRIVATE QHotkey::QHotkey) |
Oh I can do that? |
It's trying to search for Qt5 for some reason.
|
Clearly CMake can't find Qt5 for you. |
That's because I use Qt6 lol. |
Then you maybe want to set Line 11 in 1114df5
|
Erm... how do I do that though? Since that's in the github repo |
How about to put |
nop, same thing |
Are you aware that you should put it before |
Or try this one: |
I'll try the other one in about an hour because I have to go. |
doesn't seem to work either |
Have you tried clearing the cache? |
If by that you mean clean & build. I just did. Same thing. |
No, I mean |
Nope, doesn't seem to do anything. |
I don't have much information to understand what are you trying. But you need to find a way to override this variable. |
The default qt script uses the variable called |
Because this won't work with old Qt versions.
I just guessing. You are not providing enough information for me to help you. |
Well tell me what I should tell you then? |
Try to provide a concrete steps. |
set(QT_MAJOR 6)
set(QT_MAJOR 6 CACHE STRING "Use Qt6")
#find_library(QHOTKEY_LIBRARY NAMES qhotkey1 QHotkey1 HINTS "${CMAKE_PREFIX}/lib")
include(FetchContent)
option(QHOTKEY_INSTALL OFF)
FetchContent_Declare(QHotkey
GIT_REPOSITORY https://github.com/Skycoder42/QHotkey
GIT_TAG 1.4.2
)
FetchContent_MakeAvailable(QHotkey) This is what I was trying. The 2 set function calls weren't used at the same time of course. |
Thanks! Could you try to manually edit QHotkey's |
Which of the set calls should I use though? |
I would go with |
I think i found the issue and fixed it. Try this one: include(FetchContent)
set(QT_DEFAULT_MAJOR_VERSION 6)
option(QHOTKEY_INSTALL OFF)
FetchContent_Declare(QHotkey
GIT_REPOSITORY https://github.com/Skycoder42/QHotkey
GIT_TAG 1.5.0
)
FetchContent_MakeAvailable(QHotkey) |
Hm okay that compiles, the warning doesn't appear anymore. |
Perhaps you have other applications running that intercept this hotkey? |
Okay so changing it to another key, or example it works |
which you can clearly see from me leaving out the Fs in that message lol |
I had one but I closed that. |
I went through all the trouble of setting this up, and the one key I need doesn't work.. :b |
Guess I'll just implement this with a different hotkey until we find a solution... |
I checked it myself, I can reproduce it on Windows. But it works on Linux. |
So does that mean it's not gonna get fixed? |
I am not familiar with Windows API and cannot tell what the problem might be. But pull requests are welcome. |
Yeah well, I might try to look into it, I don't feel like I'm smart enough for windows api tho lol Anyways, thank you for the help, let's keep this issue open then. |
Okay so, I found out that it might be qt's fault or something, because I can't even enter print screen in a |
This is the code I use for creating the hotkey:
It is printing true, but however many ways I try to connect the signal to a slot, it just doesn't work.
It either prints:
or straight up doesn't do anything.
I'm on a Windows system.
Any ideas why this could be?
The text was updated successfully, but these errors were encountered: