How to disable right click action when using QRubberBand? - qt

Whenever I press the right-click button, it sort of zooms out a little instead I want to restore the initial position of my QChart whenever I press the Right-Click. Is there a way to do this?

I think you should set the Rubberband to "no" for the chartView, so that it does react to your positioning, but no zoom.
setRubberBand(QChartView::NoRubberBand);

Related

How to set a mouse button combo as a hotkey?

Since I remapped XButton1 and XButton2 to ctrl+shift+tab and ctrl+tab
I wanted to set the right mouse button + XButton1/2 combos as forward&backward.
It works, but I don't have right click now...
I tried writing it as {RButton&XButton1}, needless to say that didn't help, but back/forward still works.
XButton1::Send ^+{Tab}
XButton2::Send ^{Tab}
RButton&XButton1::Send !{Left}
RButton&XButton2::Send !{Right}
I expect the right mouse button to work still as it is intended.
The prefix key in a custom combination (in this case RButton) loses its native function,
unless you add
RButton:: Send {RButton}

How to lose selection focus of a QTextEdit?

I have a readonly QTextEdit. I'm able to select the text and copy it.
What I need to do: When the user is in selection mode(selecting text), if he leaves the area (with the left mouse button still holding) the widget must lose focus and selection focus must end too. When mouse exits out of bounds I want to be similar to mouse release. I tried to set this:
rootWidget->clearFocus();
rootWidget->close();
rootWidget->releaseMouse();
but even though visually the widget seems out of focus I still receive the TextEdit::mouseMoveEvent() of my widget.
I also tried to set focus to a dummy widget. The dummy widget gets focused but my textedit sitll gets mouseMoveEvent().
How can I lose focus of the widget completely without releasing the mouse button?
Thank you for any suggestion!
You can give the focus to something else using QWidget::setFocus(). you should probably clear the selection before changing focus.

Unity 5 NGUI Highlighted Sprite Button Script Issue

I'm currently using Unity 5 GUI system and having one issue with the Highlighted Sprite Button Script. Under the Button Script / Sprite Swap / Highlighted Sprite, I can keep the highlighted sprite to stay highlighted, but once I clicked outside the button, it goes back to normal or the highlighted state goes away.
I wanted to the highlighted button to stay on so that the end user know which scene they are in.
How can I keep the highlighted state on until I press another button?
You might want to use a toggle button rather than a Button.
You can just use disabled sprite instead of highlighted sprite and disable and enable each button as per you requirements.
Disable the button according to your scene, you can keep it disabled unless you press any other button. After your scene change just enable the old button and disable new pressed button.

Let QTabWidget switch to corresponding page when mouse cursor hover on the tab

I want to show the corresponding page when mouse cursor hover on the tab of a QTabWidget.
For example, when the mouse cursor hover on tab ‘page2’ here , I hope the QTabWidget shows the corresponding page automatically instead of clicking. How to implement this feature?
You may try adding an event filter on the QTabWidget object's QTabBar in order to trap the mouse move event. In the filter handler, use QTabBar::tabAt( QPoint ) to find which tab is below the cursor. Set up a timer when the cursor first enters a given tab, reset time when cursor leaves it. When the timer fires, switch active tabs.
You may try using setTabToolTop function.
ui->tabWidgetHz->setTabToolTip(0,"tooltip for tab1.");
ui->tabWidgetHz->setTabToolTip(1,"tooltip for tab2.");
ui->tabWidgetHz->setTabToolTip(2,"tooltip for tab3");

Show context menu of QSystemTrayIcon without user click

I have a QSystemTrayIcon, that displays a QMenu on click, but I want to display the menu as soon as the tray icon is displayed. I have tried calling the show method on the QMenu, but the menu only seems to display when it is clicked. Any idea on how to change this behaviour?
I'm not sure if it's possible to trigger the behaviour triggered by operating system when user clicks the system tray, but at least you should be able to use QMenu::popup method to just show the menu returned by QSystemTrayIcon::contextMenu method.
Note that you should use the menu's size hint, when you calculate the menu postion relative to QSystemTrayIcon::geometry. Also you may need to use QDesktopWidget::availableGeometry to make sure the menu pops up inside the screen, no matter where the task bar is.

Resources