QT5(11) 鼠标右击菜单 键盘事件

来源:互联网 发布:比较好的php编辑器 编辑:程序博客网 时间:2024/06/07 10:12

一、初识

这部分推荐看这两位大兄弟文章,鼠标右键
事件总结

二、鼠标右键

//    实现右键菜单listUsers -> setContextMenuPolicy(Qt::CustomContextMenu);connect(listUsers,SIGNAL(customContextMenuRequested(const QPoint&)),this, SLOT(showListMenu(const QPoint&)));void MainWindow::showListMenu(const QPoint& point){    QMenu *cmenu = new QMenu();    QAction *actDelete = cmenu -> addAction("删除");    QString str = "测试功能,要想删除账号直接在文件中删除!";    connect(actDelete,SIGNAL(triggered(bool)),this,SLOT(getTip(str)));    cmenu -> exec(QCursor::pos());  // 当前鼠标位置//    cmenu -> exec(point);           // 在viewport中显示//    获取当前选定item//    QListWidgetItem *item = listUsers -> currentItem();//    int row = listUsers -> currentRow();}

三、键盘事件

任何继承QWidget的类都可以重载鼠标事件。

void MainWindow::keyPressEvent(QKeyEvent *e){    if(e -> key() == Qt::Key_Shift){        showListMenu(QPoint());    }//    调用默认事件    QWidget::keyPressEvent(e);}
0 0
原创粉丝点击