Qt编程之仿gnome-terminal终端样式 +颜色文字显示

这篇具有很好参考价值的文章主要介绍了Qt编程之仿gnome-terminal终端样式 +颜色文字显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


本文采用QTextBrowser作为文本显示窗口,进行文本的显示。本文实例实现的效果并没有终端的输入效果,这里只是提供一些仿终端样式思路。

1.说再多废话不如直接show code

1.ui文件:采用一个QWidget为主窗口,QTextBrowser做文本显示
Qt编程之仿gnome-terminal终端样式 +颜色文字显示,QSS界面美化,qt,linux,gnome,Terminal,c++

MainWindow .cpp代码实现:


MainWindow *MainWindow::windowInstance = nullptr;

MainWindow::MainWindow(QWidget *parent)
	: QWidget(parent),
	ui(new Ui::MainWindow)
{
	ui->setupUi(this);
	//记录this指针,以便logHandle访问
	windowInstance = this;
	
	this->setWindowTitle("Terminal");
	//窗口主背景颜色
	this->setStyleSheet("background-color: #380C2A;");
	//注册日志函数handle
	qInstallMessageHandler(messageHandle);
	
	connect(this, &MainWindow::sigLog, this, &MainWindow::forceLog);
}

MainWindow::~MainWindow()
{
	delete ui;
}

//静态成员函数
void MainWindow::messageHandle(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
	QString color;
	switch (type)
	{
	case QtDebugMsg:
		color = "#FFFFFF";
		break;
	case QtInfoMsg:
		color = "#00FF00";
		break;
	case QtWarningMsg:
		color = "#FFFF00";
		break;
	case QtCriticalMsg:
		color = "#FF0000";
		break;
	case QtFatalMsg:
		color = "#FF0000";
	}
	QString text = QString("<font color=%1><tt>%2</tt></font>").arg(color).arg(msg);
	if (windowInstance)
	{
		emit windowInstance->sigLog(text);
	}
}

void MainWindow::forceLog(QString msg)
{
	ui->textBrowser->append(msg);
}

QTextBrowser样式表代码:

QTextBrowser{
	background-color: transparent; 
	color: white; 
	font-size: 18px;
}
QScrollBar::vertical{
	background:transparent;
	width: 6px;
	margin: 0px;
 }
QScrollBar::handle:vertical{
	background-color:rgb(158,158,158);
	border: none;
	border-radius: 3px;
 }
QScrollBar::handle:vertical:pressed{
	background:#EC693C;
}
QScrollBar::sub-line:vertical{
	border:none;
}
QScrollBar::add-line:vertical{
	border:none;
}
QScrollBar::sub-page:vertical{
	border:none;
}
QScrollBar::add-page:vertical{
	border:none;
}

2.实现效果

Qt编程之仿gnome-terminal终端样式 +颜色文字显示,QSS界面美化,qt,linux,gnome,Terminal,c++
左边是仿照效果,可以看到大致样式已仿照成功,当然这里顶部栏工具未做仿照。本文只是提供样式表的大致实现效果,有兴趣的小伙伴可以参考。

作者:费码程序猿
欢迎技术交流:QQ:255895056
转载请注明出处,如有不当欢迎指正文章来源地址https://www.toymoban.com/news/detail-801422.html

到了这里,关于Qt编程之仿gnome-terminal终端样式 +颜色文字显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【GitHub】强大的终端录制工具-Terminalizer

    Terminalizer 是一个GitHub上优秀的开源项目,目前项目点赞数已达:14k,该项目可以轻松记录下你在命令行的操作,并将录制好的内容输出成 gif 图像或直接分享到网上。 项目开源协议:MIT 项目主开发语言:JavaScript 项目地址:网页链接 Terminalizer 是一个强大的终端录制工具,它

    2024年02月16日
    浏览(43)
  • ROS学习笔记(三)---好用的终端Terminator

    01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序(简例) 在前面的学习中,为了运行hello.py我是在vscode频繁的点击运行窗口的“+”号来开启终端的,有时候看起来不是很方便,特别是当有多个节点需要启动的时候,容易找不到对应的运行

    2024年02月12日
    浏览(35)
  • Mac配置android studio的终端terminal

    一共6步 首先打开terminal 1.echo $HOME 2.touch .bash_profile 3.open -e .bash_profile 4.在弹出框中输入 5.source .bash_profile 6.adb version  出现类似上图即为成功

    2024年02月15日
    浏览(38)
  • Windows终端(windows terminal)从下载到运行

    目录 介绍 一、软件下载 网盘链接 方式一: github 方式二:微软商店(Microsoft Store)下载 二、软件运行 三、添加Windows Terminal到鼠标右键菜单 四、使用run命令实现快捷启动 五、卸载 六、注册表删除 文章里提到的软件均提供网盘下载,链接在软件下载页面 以下所有演示内容都

    2024年02月14日
    浏览(94)
  • Win11右键打开终端(Windows Terminal)

    win11的terminal和cmd的命令有点差距 这里给出注册表方式给右键菜单添加在当前目录打开终端的方法 注意了,是Windows11系统右键菜单里添加在当前目录打开Terminal的选项 懒人操作: 将以下代码放在XXXX.reg文件中双击打开即可 win11的Terminal默认就是在当前目录打开,所以command只需

    2024年02月17日
    浏览(52)
  • Pycharm——在终端terminal运行python命令没有反应

    在运行django项目时,在terminal使用\\\"python manage.py runserver\\\"命令,但是没有反应,在排除不是路径没有和manage.py同目录的情况下,我怀疑是python.exe有问题。 先去cmd中运行命令\\\"python\\\",结果电脑自动打开应用商店,说明我的python环境变量有问题。 在cmd运行\\\"where python\\\",可以看到多了

    2024年02月03日
    浏览(57)
  • Windows 10 系统PowerShell美化 IDEA终端、VsCode终端以及Windows Terminal的PowerShell

    Linux 和 macOS 上的 PowerShell 使用 .NET Core,即 Microsoft Windows 上的完整 .NET Framework 的子集。 这非常重要,因为 PowerShell 提供对基础框架类型和方法的直接访问。 因此,在 Windows 上运行的脚本可能无法在非 Windows 平台上运行,因为框架之间存在差异。 Windows 终端程序是一款新式、

    2024年02月07日
    浏览(64)
  • pycharm中的Terminal终端使用虚拟环境并切换项目路径

        如此便切换成功。 3. 如果想要在这个路径下运行文件,直接 python 文件名 ———————————————— 版权声明:本文为CSDN博主「vvvvs13」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/vvvvs13/article/details/

    2024年02月03日
    浏览(54)
  • Pycharm中Terminal(终端)不显示虚拟环境名解决方法

    Pycharm中打开项目配置完需要的虚拟环境后,在Terminal(终端)中无法切换及显示当前需要运行代码的虚拟环境。 比如以下一种情况: 1、显示PS 问题图说明:如果是PS 前缀可以看到Shell path处给的路径是应该powershell.exe运行文件,所以终端才会一直显示PS 。 2、显示 Python信息 问

    2024年02月12日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包