Search Results

Search found 16 results on 1 pages for 'qmenu'.

Page 1/1 | 1 

  • Custom QAction/QMenu for mouse button detection

    - by voodoogiant
    I'm trying to create a popup menu, where I can detect the mouse button that was pressed for a given item. I've created a custom QAction already to build my QMenu, but the triggered signal when the menu item is pressed doesn't provide a QMouseEvent for me to query the button pressed. Also, I'm setting the a status tip for each QAction, which appears in the status bar when I mouse over it, but it stays even after I close the QMenu. Is this normal behavior?

    Read the article

  • Qt4: QMenuBar/QMenu doesn't show up on Mac OS X

    - by Erick
    Hello, I'm having difficulties to make a QMenuBar display a QMenu with a QAction under Mac OS X (Snow Leopard). Here is the code I'm using for creating the menu: void ClientWindow::setUpMenu () { QMenu * file = menuBar()->addMenu("&File"); QAction * quit = new QAction("&Quit", this); file->addAction(quit); connect(quit, SIGNAL(triggered()), this, SLOT(quit())); } Here is the ClientWindow class interface: class ClientWindow : public QMainWindow { public: ClientWindow (QWidget * parent = 0); void setUpMenu (); }; And here is my main() method: int main (int argc, char * argv[]) { QApplication app(argc, argv); ClientWindow window; window.setUpMenu(); window.show(); return app.exec(); } Any ideas why it wouldn't show up on the menu bar? Thank you all.

    Read the article

  • Pyqt - QMenu dynamically populated and clicked

    - by mleep
    I need to be able to know what item I've clicked in a dynamically generated menu system. I only want to know what I've clicked on, even if it's simply a string representation. def populateShotInfoMenus(self): self.menuFilms = QMenu() films = self.getList() for film in films: menuItem_Film = self.menuFilms.addAction(film) self.connect(menuItem_Film, SIGNAL('triggered()'), self.onFilmSet) self.menuFilms.addAction(menuItem_Film) def onFilmRightClick(self, value): self.menuFilms.exec_(self.group1_inputFilm.mapToGlobal(value)) def onFilmSet(self, value): print 'Menu Clicked ', value

    Read the article

  • how to get selected item in pyqt Qmenu

    - by Moayyad Yaghi
    hello is there any way to get the selected item in a qmenu ? i want to bind all items in that list to one function and get the item once user click it . i've been looking for a way to get the item's label or index for 3 days , but couldn't find it . any ideas ? thanks in advance

    Read the article

  • Qt almost same main menu entries

    - by user1671710
    I'm using c++ Qt library and I want to do something which would do : connect(actionB11, SIGNAL(triggered()), this, SLOT(SetSomething(1, 1))); connect(actionB12, SIGNAL(triggered()), this, SLOT(SetSomething(1, 2))); connect(actionB21, SIGNAL(triggered()), this, SLOT(SetSomething(2, 1))); connect(actionB22, SIGNAL(triggered()), this, SLOT(SetSomething(2, 2))); The code above doesnt work because SIGNAL function has to have same number and argument types as SLOT function. Does exist a way how to do it? I dont want to have about 20 function as SetSomething11, SetSomething12 calling SetSomething(1, 1) etc.

    Read the article

  • Problems with QDialog in Qt

    - by Martin
    I'm using Qt for Symbian. I have some problems with a QDialog that I open from a QMenu. The QDialog shows up fine and in the QDialog I have a QDialogButtonBox with a button to Close the QDialog. BUT if I close the QDialog and then open it from the QMenu again, it will show up but the button from the QDialogButtonBox will not show up. Instead the buttons from the QMainWindow will show but they are grayed out. How can I get the QDialog buttons to show every time? Maybe I have some problems with setting focus on the QDialog? I really can't see what I'm doing wrong here. It's not much code that I use, you can try it yourself. This is my code: In QMainWindow I use the following to create the menu: QAction *menuButton = new QAction("Menu", this); menuButton->setSoftKeyRole(QAction::PositiveSoftKey); QMenu *menu = new QMenu(this); menuButton->setMenu(menu); QAction *popup = new QAction("Show popup",this); connect(popup, SIGNAL(triggered()), this, SLOT(showPopup())); menu->addAction(popup); addAction(menuButton); This shows the QDialog: void MyMainWindow::showPopup(){ TestDialog *test = new TestDialog(this); test->setAttribute(Qt::WA_DeleteOnClose); test->show(); } This is the TestDialog: TestDialog::TestDialog(QWidget *parent) : QDialog(parent) { ui.setupUi(this); QDesktopWidget* desktopWidget = QApplication::desktop(); QRect rect = desktopWidget->availableGeometry(); this->setFixedWidth(rect.width()); }

    Read the article

  • Qt - 2 QMainWindow glued - Size of Layout

    - by user1773603
    I have a main window that I center this way in main.cpp : int main(int argc, char *argv[]) { QApplication app(argc, argv); QMainWindow *qmain = new QMainWindow; Ui_MainWindow ui; ui.setupUi(qmain); QRect r = qmain->geometry(); r.moveCenter(QApplication::desktop()->availableGeometry().center()); qmain->setGeometry(r); qmain->show(); return app.exec(); } In this "qmain" main window, I can create another QMainWindow and I try to make stick (or glue I don't know how to say) the two windows. Actually, I would like the right-top corner of the first one to be located at the left-top of the second one. For this, I use the following Ui_MainWindow's member function : void Ui_MainWindow::generate_IC() { qmenu = new QMainWindow; DiskMenu = new Ui_DiskGalMenu; DiskMenu->setupUi(qmenu); setInitialDiskMenuPosition(qmenu, this); qmenu->show(); } and the setInitialDiskMenuPosition : void Ui_MainWindow::setInitialDiskMenuPosition(QMainWindow *MainWindow, Ui_MainWindow *parent) { QSize size = parent->widget->size(); QDesktopWidget* desktop = QApplication::desktop(); int width = desktop->width(); int height = desktop->height(); int mw = size.width(); int mh = size.height(); int right = (width/2) + (mw/2); int top = (height/2) - (mh/2); MainWindow->move(right, top); } But the problem is that I don't get exactly what I want since the centralwidget size "parent- widget-size()" only returns the size of the widget and not the whole "qmain" parent window. So I have a light shift because the borders of the "qmain" window are not taken in account like it is shown below : If I could have access to the size of the whole parent window... If anyone could help me

    Read the article

  • Simple menubar using Qt4

    - by Buzz
    Hi all i'm trying to make a simple GUI with QT 4.6. i made a separete class that represents the menu bar: MenuBar::MenuBar() { aboutAct = new QAction(tr("&About QT"), this); aboutAct->setStatusTip(tr("Show the application's About box")); connect(aboutAct, SIGNAL(triggered()), this, SLOT(about())); quitAct = new QAction(tr("&Quit"),this); quitAct->setStatusTip(tr("Exit to the program")); //connect(quitAct, SIGNAL(triggered()), &QApp, SLOT(quit())); menuFile = new QMenu("File"); menuFile->addAction(quitAct); menuLinks = new QMenu("Links"); menuAbout = new QMenu("Info"); menuAbout->addAction(aboutAct); addMenu(menuFile); addMenu(menuLinks); addMenu(menuAbout); } i can't connect the signal of the quitAct with the quit slot of the main application probably because it is not visible from the MenuBar class.. //connect(quitAct, SIGNAL(triggered()), &QApp, SLOT(quit())); how can i do it?

    Read the article

  • How to find item selected from customContextMenuRequested() on QTreeView item?

    - by vinaym
    I have implemented contextual menus in QTreeView items with the following code MyDerivedQTreeView->setModel(MyDerivedQAbstractItemModel); MyDerivedQTreeView->setContextMenuPolicy(Qt::CustomContextMenu); connect(MyDerivedQTreeView, SIGNAL(customContextMenuRequested(const QPoint &)), MyDerivedQAbstractItemModel(), SLOT(contextualMenu(const QPoint &))); void MyDerivedQAbstractItemModel::contextualMenu(const QPoint& point) { QMenu *menu = new QMenu; menu->addAction(QString("Test Item"), this, SLOT(test_slot())); menu->exec(MyDerivedQTreeView->mapToGlobal(point)); } MyDerivedQAbstractItemModel::contextualMenu() gets called and I can see the contextual menu. Problem is contextual menu should be visible only if user right-clicks on an item and it should be customized as per the item selected. How do I get whether/which item is selected from QPoint information? I am on Qt 4.5.3.

    Read the article

  • Possible bug with tabified QDockWidget and setFloating()

    - by krunk
    I've run into some odd behavior with tabified QDockWidgets, below is an example program with comments that demonstrates the behavior. Is this a bug or is it expected behavior and I'm missing some nuance in QDockWidget that causes this? Directly, since this does not work, how would one properly "undock" a hidden QDockWidget then display it? #include <QApplication> #include <QMainWindow> #include <QAction> #include <QDockWidget> #include <QMenu> #include <QSize> #include <QMenuBar> using namespace std; int main (int argc, char* argv[]) { QApplication app(argc, argv); QMainWindow window; QDockWidget dock1(&window); QDockWidget dock2(&window); QMenu menu("View"); dock1.setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); dock2.setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); dock1.setWindowTitle("Dock One"); dock2.setWindowTitle("Dock Two"); window.addDockWidget(Qt::RightDockWidgetArea, &dock1); window.addDockWidget(Qt::RightDockWidgetArea, &dock2); window.menuBar()->addMenu(&menu); window.setMinimumSize(QSize(800, 600)); window.tabifyDockWidget(&dock1, &dock2); dock1.hide(); dock2.hide(); menu.addAction(dock1.toggleViewAction()); menu.addAction(dock2.toggleViewAction()); window.show(); // Below is where the oddness starts. It seems to only exhibit the // behavior if the dock widgets are tabified. // Odd behavior here // This does not work. the window never shows, though its menu action shows // checked. Not only does this window not show up, but all toggle actions // for all dock windows (e.g. dock1 and dock2) are broken for the duration // of the application loop. // dock1.setFloating(true); // dock1.show(); // This does work. . . of course only if you do _not_ run the above first. // however, you can often get a little lag or "blip" in the rendering as // the dock is shown docked before setFloating is set to true. dock1.show(); dock1.setFloating(true); return app.exec(); }

    Read the article

  • Is it possible to add a menu bar to a widget

    - by yan bellavance
    I would like to add a QMenuBar to a window of my program (not the QMainWindow) from QtDesigner but I do not see this widget in there and it seems the only way to do this from designer is to use a mainwindow. Would I absolutely need to create this QMenu by hand coding it. Is it possible/ok to instead add a QMainwindow that is actually declared inside my main QMainwindow?

    Read the article

  • Multiple Context menus in PyQt based on mouse location

    - by Nader
    I have a window with multiple tables using QTableWidget (PyQt). I created a popup menu using the right click mouse and it works fine. However, I need to create different popup menu based on which table the mouse is hovering over at the time the right mouse is clicked. How can I get the mouse to tell me which table it is hovering over? or, put in another way, how to implement a method so as to have a specific context menu based on mouse location? I am using Python and PyQt. My popup menu is developed similar to this code (PedroMorgan answer from Qt and context menu): class Foo( QtGui.QWidget ): def __init__(self): QtGui.QWidget.__init__(self, None) # Toolbar toolbar = QtGui.QToolBar() # Actions self.actionAdd = toolbar.addAction("New", self.on_action_add) self.actionEdit = toolbar.addAction("Edit", self.on_action_edit) self.actionDelete = toolbar.addAction("Delete", self.on_action_delete) # Tree self.tree = QtGui.QTreeView() self.tree.setContextMenuPolicy( Qt.CustomContextMenu ) self.connect(self.tree, QtCore.SIGNAL('customContextMenuRequested(const QPoint&)'), self.on_context_menu) # Popup Menu self.popMenu = QtGui.QMenu( self ) self.popMenu.addAction( self.actionEdit ) self.popMenu.addAction( self.actionDelete ) self.popMenu.addSeparator() self.popMenu.addAction( self.actionAdd ) def on_context_menu(self, point): self.popMenu.exec_( self.tree.mapToGlobal(point) )

    Read the article

  • how to add menu dynamically in Qt

    - by Solitaire
    Hi, I want to add, submenu to a menu item dynamically. How can I achive this? I tried like this, I have created an Action and submenu. Then I have added the submenu to action. But, I have connected the “triggered” signal of action. its getting crash if I click on the action.. I have also handled the “aboutToShow” signal of menu, same its also getting crash when I click on action.. Here is the sampe code. Submenu = new QMenu(this); connect(Submenu, SIGNAL( aboutToShow()), this, SLOT(move ())); QAction *test = new QAction(tr("Selection"), this); test ->setMenu(Submenu); menubar()->addAction(test); I want to get the notification, before the display of submenu..

    Read the article

  • Qt: TableWidget's ItemAt() acting weirdly

    - by emredog
    Hi, i'm working on a windows application, where in a dialog i query some data from Postgres, and manually show the output in a table widget. m_ui->tableWidget->setRowCount(joinedData.count()); for(int i=0; i<joinedData.count(); i++) //for each row { m_ui->tableWidget->setItem(i, 0, new QTableWidgetItem(joinedData[i].bobin.referenceNumber)); m_ui->tableWidget->setItem(i, 1, new QTableWidgetItem(QString::number(joinedData[i].bobin.width))); m_ui->tableWidget->setItem(i, 2, new QTableWidgetItem(QString::number(joinedData[i].tolerance.getHole()))); m_ui->tableWidget->setItem(i, 3, new QTableWidgetItem(QString::number(joinedData[i].tolerance.getLessThanZeroFive()))); m_ui->tableWidget->setItem(i, 4, new QTableWidgetItem(QString::number(joinedData[i].tolerance.getZeroFive_to_zeroSeven()))); m_ui->tableWidget->setItem(i, 5, new QTableWidgetItem(QString::number(joinedData[i].tolerance.getZeroFive_to_zeroSeven_repetitive()))); m_ui->tableWidget->setItem(i, 6, new QTableWidgetItem(QString::number(joinedData[i].tolerance.getZeroSeven_to_Three()))); m_ui->tableWidget->setItem(i, 7, new QTableWidgetItem(QString::number(joinedData[i].tolerance.getThree_to_five()))); m_ui->tableWidget->setItem(i, 8, new QTableWidgetItem(QString::number(joinedData[i].tolerance.getMoreThanFive()))); } Also, based on row and column information, i paint some of these tablewidgetitems to some colors, but i don't think it's relevant. I reimplemented the QDialog's contextMenuEvent, to obtain the right clicked tableWidgetItem's row and column coordinates: void BobinFlanView::contextMenuEvent(QContextMenuEvent *event) { QMenu menu(m_ui->tableWidget); //standard actions menu.addAction(this->markInactiveAction); menu.addAction(this->markActiveAction); menu.addSeparator(); menu.addAction(this->exportAction); menu.addAction(this->exportAllAction); //obtain the rightClickedItem QTableWidgetItem* clickedItem = m_ui->tableWidget->itemAt(m_ui->tableWidget->mapFromGlobal(event->globalPos())); // if it's a colored one, add some more actions if (clickedItem && clickedItem->column()>1 && clickedItem->row()>0) { //this is a property, i'm keeping this for a later use this->lastRightClickedItem = clickedItem; //debug purpose: QMessageBox::information(this, "", QString("clickedItem = %1, %2").arg(clickedItem->row()).arg(clickedItem->column())); QMessageBox::information(this, "", QString("globalClick = %1, %2\ntransformedPos = %3, %4").arg(event->globalX()).arg(event->globalY()) .arg(m_ui->tableWidget->mapFromGlobal(event->globalPos()).x()).arg(m_ui->tableWidget->mapFromGlobal(event->globalPos()).y())); menu.addSeparator(); menu.addAction(this->changeSelectedToleranceToUygun); menu.addAction(this->changeSelectedToleranceToUyar); menu.addAction(this->changeSelectedToleranceToDurdurUyar); //... some other irrevelant 'enable/disable' activities menu.exec(event->globalPos()); } The problem is, when i right click on the same item i get the same global coordinates, but randomly different row-column information. For instance, the global pos is exactly 600,230 but row-column pair is randomly (5,3) and (4,3). I mean, what?! Also, when i click to an item from the last to rows (later than 13, i guess) will never go into condition "if (clickedItem && clickedItem-column()1 && clickedItem-row()0)", i think it's mainly because 'clickedItem' is null. I'll be more than glad to share any more information, or even the full cpp-h-ui trio in order to get help. Thanks a lot.

    Read the article

1