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

目录
相关文章
如何设置控制台由底部展示改为右侧位置
这篇文章介绍了如何在Sublime Text编辑器中将控制台从底部展示改为右侧位置,通过使用Package Control来安装相关的插件来实现界面布局的调整。
|
6月前
|
算法 前端开发 C++
【Qt UI相关】Qt设置窗体或控件的背景色透明
【Qt UI相关】Qt设置窗体或控件的背景色透明
694 0
|
6月前
|
存储 机器学习/深度学习 人工智能
Qt魔法书:打造自定义鼠标键盘脚本(二)
Qt魔法书:打造自定义鼠标键盘脚本
214 0
|
4月前
QT设置widget背景图片
该内容介绍如何在Qt中为控件添加背景图片。主要方法包括:1) 在样式表中使用`border-image`属性指定控件及其背景图片;2) 使用调色板`QPalette`设置图片,但可能导致窗口显示不下;3) 在`paintEvent`中绘制图片,适合自定义绘图但不适用于子窗口;4) 通过覆盖一个大小与窗口相同的`QLabel`来设置背景图片,可实现动态背景。推荐使用样式表设置背景,简单高效且适合子窗口。
263 3
|
3月前
|
网络协议
【qt】TCP的监听 (设置服务器IP地址和端口号)
【qt】TCP的监听 (设置服务器IP地址和端口号)
207 0
|
3月前
|
Linux UED iOS开发
Python colorama 设置控制台、命令行输出彩色文字
Python colorama 设置控制台、命令行输出彩色文字
59 0
|
5月前
|
网络安全
阿里云8888端口设置安全组,宝塔控制台显示链接失败
阿里云8888端口设置安全组,宝塔控制台显示链接失败
63 0
|
6月前
|
编解码 Linux Shell
【Shell 命令集合 系统设置 】Linux 设置Linux系统的控制台参数和属性setconsole命令 使用指南
【Shell 命令集合 系统设置 】Linux 设置Linux系统的控制台参数和属性setconsole命令 使用指南
100 0
|
6月前
|
存储 安全 数据安全/隐私保护
阿里云网盘与相册问题之如何设置阿里云控制台的消息通知
阿里云网盘与相册是阿里云提供的云存储服务,用户可以安全便捷地存储和管理个人文件、照片等数据;本合集将介绍如何使用阿里云网盘和相册服务,包括文件上传、同步、分享,以及处理常见使用问题的技巧。
|
6月前
|
开发框架 Linux API
Qt魔法书:打造自定义鼠标键盘脚本(一)
Qt魔法书:打造自定义鼠标键盘脚本
79 0

热门文章

最新文章

推荐镜像

更多