Qt [GC9-7]:控制台基本设置及增加鼠标右键菜单和键盘事件

简介: Qt [GC9-7]:控制台基本设置及增加鼠标右键菜单和键盘事件

image.pngimage.png

目前美化效果就是把TabWidget变透明、设置控制台名称、并且隐藏TabBar和标题栏。代码如下

this->setWindowTitle("控制台");        //设置程序名称
    this->setWindowFlag(Qt::FramelessWindowHint);       //隐藏标题栏
    ui->tabWidget_controlPanel->tabBar()->hide();       //隐藏TabBar
    ui->tabWidget_controlPanel->setStyleSheet("QTabWidget::pane{border-top: 2px solid #00000000;}");    //设置TabWidget样式表

因为我们隐藏了原本窗口自带的标题栏,所以需要我们自己来实现一个关闭的功能,目前计划使用鼠标和键盘两种方式,鼠标右键菜单弹出关闭按钮和键盘“ESC键”及“Q键”来控制程序关闭。鼠标右键实现如下

image.png

image.png

代码如下

void ControlPanel::on_tabWidget_controlPanel_customContextMenuRequested(const QPoint &pos)
{
    Q_UNUSED(pos)
    QMenu *menu = new QMenu(this);
    menu->setStyleSheet("QMenu{background-color: #55f6c82c;border: 1px solid white;}"
                        "QMenu::item{/*background-color: transparent;padding:8px 32px;margin:0px 8px;*/color:#000000;}"
                        "QMenu::item:selected{background-color: #f6c82c;}");
    QAction *action_Close = new QAction("关闭",this);
    menu->addAction(action_Close);
    connect(action_Close,&QAction::triggered,this,[=](){this->close();});
    menu->exec(cursor().pos());
    QList<QAction*> list = menu->actions();
    foreach (QAction* pAction, list) delete pAction;
    delete menu;
}

键盘事件的实现就更加简单了

头文件添加键盘事件引用

#include <QKeyEvent>

重载keyevent,代码如下

void ControlPanel::keyReleaseEvent(QKeyEvent *event)
{
    if(event->key() == Qt::Key_Escape || event->key() == Qt::Key_Q)
    {
        this->close();
    }
}

image.png

目录
相关文章
|
1月前
|
存储 机器学习/深度学习 人工智能
Qt魔法书:打造自定义鼠标键盘脚本(二)
Qt魔法书:打造自定义鼠标键盘脚本
64 0
|
7月前
|
存储 Cloud Native Linux
Qt 关于mouseTracking鼠标追踪和tabletTracking平板追踪的几点官方说明
Qt 关于mouseTracking鼠标追踪和tabletTracking平板追踪的几点官方说明
|
8月前
|
数据安全/隐私保护
PyQt5-Qt Designer控件之间的伙伴关系和Tab顺序如何设置?
PyQt5-Qt Designer控件之间的伙伴关系和Tab顺序如何设置?
57 0
PyQt5-Qt Designer控件之间的伙伴关系和Tab顺序如何设置?
|
1月前
|
编解码 Linux Shell
【Shell 命令集合 系统设置 】Linux 设置Linux系统的控制台参数和属性setconsole命令 使用指南
【Shell 命令集合 系统设置 】Linux 设置Linux系统的控制台参数和属性setconsole命令 使用指南
42 0
|
1月前
|
开发框架 Linux API
Qt魔法书:打造自定义鼠标键盘脚本(一)
Qt魔法书:打造自定义鼠标键盘脚本
32 0
|
1月前
|
安全 数据安全/隐私保护 C++
Qt C++ 键盘事件全解析:从基础到高级,实现精彩互动体验
Qt C++ 键盘事件全解析:从基础到高级,实现精彩互动体验
338 0
|
1月前
|
存储 安全 数据安全/隐私保护
阿里云网盘与相册问题之如何设置阿里云控制台的消息通知
阿里云网盘与相册是阿里云提供的云存储服务,用户可以安全便捷地存储和管理个人文件、照片等数据;本合集将介绍如何使用阿里云网盘和相册服务,包括文件上传、同步、分享,以及处理常见使用问题的技巧。
|
1月前
|
C++
QT 重写控件(QPushButton为例)实现背景图片的切换和鼠标样式切换
一般在QT开发中,使用setCursor()给控件设置鼠标的样式效果(一般是手型和箭头的切换),一般情况下,这个函数也是起作用的,但是一旦调用了全局QApplication::setOverrideCursor()设置鼠标效果后,在使用setCursor给控件设置鼠标样式就不起效果了,这是QT的机制
142 0
|
1月前
|
测试技术 Python
设置pycharm使用pytest执行测试用例时,输出print语句至控制台
设置pycharm使用pytest执行测试用例时,输出print语句至控制台
93 0
|
1月前
Mac系统下Qt程序图标设置方法
Mac系统下Qt程序图标设置方法
50 0

推荐镜像

更多