How i can create pop-up window (with some text)when focus on TextInput (like in windows xp when i focus mouse cursor on file it shows short info).
ps: example of pop-up in windows xp alt text http://img38.imageshack.us/img38/3884/2222ty.gif
The form of window you are referring to is generally refered to as a "Tooltip"
I think that this is what you're looking for.
Related
qApp->setOverrideCursor() method works successfully, if I want to hide mouse cursor, except one condition. If I add a dialog that is modal, and while it is shown, if the cursor is out of dialog's borders, it is shown again. Have you got any idea about the problem?
It does not matter how the solution for hiding mouse cursor is; whether by Qt or at the operating system level. My operating system is Windows 7.
You cannot hide the mouse cursor when it leaves your window (or dialog-window), because it is then handled by the window-manager of your OS. A workaround would be to constrain the mouse to your window/dialog, so it cannot leave. You will either need to look through the MSDN to find the specific windows functions to do it, or do it like in kshegunov's code example on the Qt-forums: https://forum.qt.io/topic/61832/restrict-mouse-cursor-movement/12
I'm building the UI for an application using Qt and QML for Ubuntu Linux. I have a viewer window with a canvas element which is supposed to be fullscreen by default. On opening the application this works fine (i.e. Ubuntu sidebar and top taskbar are hidden). However, once I minimize my application and then maximize it again by using viewer->setFullScreen();, the Ubuntu sidebar and top taskbar are still visible and there is an offset while writing on the canvas due to the same.
Any help would be appreciated.
According to this topic on askubuntu, your problem do really looks like Unity bug (or feature). But, according to somehow related bug on Launchpad, it seems that you can get desired behavior by:
Turn "Always On Top" on via right-clicking the titlebar of your window, before making it go fullscreen.
This will prevent the Unity panel from rendering on top of this fullscreen-window, when using the other screen.
In Qt you can set Qt::WindowStaysOnTopHint to your window/widget via QWidget::windowFlags.
Pay additional attention to notes in official documentation:
This function calls setParent() when changing the flags for a window, causing the widget to be hidden. You must call show() to make the widget visible again.
About Qt::WindowStaysOnTopHint -- Informs the window system that the window should stay on top of all other windows. Note that on some window managers on X11 you also have to pass Qt::X11BypassWindowManagerHint for this flag to work correctly.
Hope this helps.
I am very new to programming and Qt so please be patient with my ignorance. I have spent two days searching for an answer and I can't figure out where to start.
I'm using Qt 4.8.5 and I would like to create a program that has a mainwindow with a few icons that will open frameless sub windows when clicked.
I've played with the window flags example but none of the options seem to meet my needs... the popup widget is close but I don't want the sub window to disappear when I click on something in the main window. All the other widgets like window and dialog cause the mainwindow to lose focus (not sure this is the right terminology).
Is there a way to make a popup window stay open until the icon is pressed again or use another kind of widget but keep focus on the main window?
I'm sorry if this question is poorly worded.
If I understand correctly what you are asking, you could use setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint); on the widget you wish to use as a popup window. It will give you an always on top frameless window.
Looking for a solution to a hidden window - either a windows event that occurs when the TaskBar Icon is clicked.
or alternatively, a way to remove the TaskBar Icon. The Tray Icon is easily hidden - that is not the problem.
There is a sample script on the AutoHotkey's Website called Minimize Window to Tray
The script itself uses the hotkey Win+H to hide the active window. Win+U then shows the last hidden window. If this is not the functionality you are going for, I'm sure you can take a look at the script and pick out what you need. Hope this helps you out.
I've a possible answer to detecting a Click on the TaskBar Icon - but I'm concerned it will differ for each version of Windows. Using OnMessage(Wm_Activate := 0x06, "testmessage") - then MouseGetPos to get the Window name, I can eliminate all but 'MSTaskListWClass1' the name of the Icon I want. But I suspect that the name is only valid for Win7.
I have a main window (on MS Windows) and I want to have sub windows or subpanels with free screen movement. I can use dialog and Qt::splashscreen flag, but when I am on these subwindows I lose the focus caption for the main window. Is there any trick to do what I want? (Something like a multi-focus...)
Maybe it is impossible?
I'm not sure what you mean by losing the focus.
When I create an application with multiple windows, this is what I do: in the sub-window widget, I set the parent to the main window, and set the Qt::Tool flag. It has multiple effects: the window manager sees it as one window, and when you focus any window, all the windows raise.
Do you want QMdiArea? Or a focus proxy?
In Qt, all top-level windows are independent, none is the "main". If you want to nominate one as a main window and have it steal focus from the others, then you will have to implement that manually.
Sounds like you just want to have widgets that you can move around freely on a parent widget/window, without invoking the "window focus changed" event between native Windows windows (...).
I'm not sure if there is a ready-made solution for that, but adding some grab/move/resize events to a widget's edges shouldn't be that hard, or?
I'd simply catch mousedown/up events on certain areas (these should probably be widgets of their own with a link to the parent movable widget), and have them resize/move the window when the mouse moves.