QT透明显示文字
实现效果:
代码:
#ifndef IMAGINIST_H
#define IMAGINIST_H #include <QtWidgets/QWidget>
#include <QtWidgets/QLabel>
#include <QtCore/QPoint>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QtSql/QSql>
#include <QPalette>
#include <QColor>
#include <QFont>
#include <QTimer>
#include <QTime>
#include "ui_imaginist.h" class imaginist : public QWidget
{
Q_OBJECT public:
imaginist(QWidget *parent = 0);
~imaginist();
protected:
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
private:
Ui::imaginistClass ui;
QPoint Position;
QPalette pe;
QFont font;
QTimer * timer;
QSqlDatabase db;
QColor color;
QTime time;
private slots:
void showText();
}; #endif // IMAGINIST_H
#include "imaginist.h"
#include <QLabel>
#include <QPalette>
#include <QColor>
#include <QMouseEvent>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QtSql/QSql>
#include <QTimer>
#include <QTime> imaginist::imaginist(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
font.setPointSize(30);
font.setBold(true); ui.showLabel->setFont(font);
ui.showLabel->setWordWrap(true); db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("muxin");
db.setUserName("root");
db.setPassword("123"); timer = new QTimer;
connect(timer, SIGNAL(timeout()), this, SLOT(showText()));
timer->start(5000);
} imaginist::~imaginist()
{
delete timer;
timer = NULL;
db.close();
} void imaginist::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton)
{
Position = event->globalPos() - frameGeometry().topLeft();
event->accept();
}
else if (event->button() == Qt::RightButton)
{
close();
}
}
void imaginist::mouseMoveEvent(QMouseEvent *event)
{
move(event->globalPos() - Position);
event->accept();
} void imaginist::showText()
{
time = QTime::currentTime();
qsrand(time.msec() + time.second() * 1000);
//color = QColor((qrand() % 256, qrand() % 256, qrand() % 256));
color = QColor::fromHsl(rand() % 360, rand() % 256, rand() % 200);
pe.setColor(QPalette::WindowText, color);
ui.showLabel->setPalette(pe);
QString sql = "SELECT sentence FROM muxin WHERE id = ";
int count;
if (db.open())
{
QSqlQuery query;
query.exec("SELECT COUNT(*) FROM muxin");
while (query.next())
{
count = query.value(0).toInt();
}
sql += QString::number(qrand() % count);
query.exec(sql);
while (query.next())
{
ui.showLabel->setText(query.value(0).toString());
}
}
}
#include "imaginist.h"
#include <QtWidgets/QApplication> int main(int argc, char *argv[])
{
QApplication a(argc, argv);
imaginist w;
w.setWindowOpacity(1.0);
w.setWindowFlags(Qt::FramelessWindowHint);
w.setAttribute(Qt::WA_TranslucentBackground);
w.show();
return a.exec();
}
QT透明显示文字的更多相关文章
- Qt中在图片上叠加显示文字
Qt中在图片上叠加显示文字 QCustLabel::QCustLabel(QWidget *parent):QLabel(parent){ setPixmap(QPixmap(QString::f ...
- 将Form的AlphaBlend属性设置为True,之后调整Form的AlphaBlendValue属性,255为不透明,数字越小透明度越大~~~想显示文字用l
将Form的AlphaBlend属性设置为True,之后调整Form的AlphaBlendValue属性,255为不透明,数字越小透明度越大~~~想显示文字用lable就行哈~~~直接在窗体上写字就行 ...
- GB2312、GBK和UTF-8三种编码以及QT中文显示乱码问题
1.GB2312.GBK和UTF-8三种编码的简要说明 GB2312.GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码.只是对于我们中国人的应用来说,用这三种编码 比较多.简单的说一下, ...
- [置顶] css 背景透明,文字不透明,alpha滤镜,opacity,position:relative;
都知道,在alpha滤镜下,背景透明了,里面的文字也会跟随透明,我们可以设置内容的position为relative可以解决这个问题 但是在position为absolute这么做却没有效果,怎么解决 ...
- CSS3实现背景透明,文字不透明
最近遇到一个需求,要在图片上显示带有半透明背景的文字,效果如下图所示: 看到这个需求之后,第一反应是使用CSS3中的opacity设置元素的透明度. <!DOCTYPE html> < ...
- CSS实现背景透明,文字不透明
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 【原】CSS实现背景透明,文字不透明,兼容所有浏览器
11.11是公司成立的日子,16岁啦,我呢3岁半,感谢公司给了这样一个平台,让我得以学习和成长,这里祝愿公司发展越来越好~ 进入主题,每年11月11号是光棍节,产生于校园,本来只是一流传于年轻人的娱乐 ...
- CSS实现背景透明,文字不透明,兼容所有浏览器
11.11是公司成立的日子,16岁啦,我呢3岁半,感谢公司给了这样一个平台,让我得以学习和成长,这里祝愿公司发展越来越好~ 进入主题,每年11月11号是光棍节,产生于校园,本来只是一流传于年轻人的娱乐 ...
- 实现password框中显示文字提示的方式
其实实际上实现中并不能让password中显示文字提示,但是我们在工作中有这样的需求,当没输入东西的时候,框内有提示输入密码,但是当输入东西的时候又显示的是*号,那么是如何实现的呢?其实原理很简单,就 ...
随机推荐
- jetbrains全家桶 你懂得
这个是松哥说的引用一下: 昨天一直在忙,中午抽空瞅了一眼技术群,天呐,竟然都在切磋 IDEA 激活码的事情,瞬间明白可能 jetbrains 又在搞事情了. 我大概了解了下,这次出事的主要是 2019 ...
- idea2020注册码永久激活(激活到2100年)
首先有图有真相: 资源链接: 链接:https://pan.baidu.com/s/1DPIllnyhc7H4qL2yQb0OvQ 提取码:lbjx 第一步:将bin目录下的三个文件拷贝到IDEA安装 ...
- 虚拟DOM学习与总结
虚拟DOM 虚拟DOM简而言之就是,用JS去按照DOM结构来实现的树形结构对象,一般称之为虚拟节点(VNode) 优点:解决浏览器性能问题 ,真实DOM频繁排版与重绘的效率是相当低的,虚拟DOM进行频 ...
- java基础之----非空判断
大家好,第一次写博客,一直想写博客,用于自我总结,也用于帮助新同学成长. 平常我们开发的时候,用到很多非空判断,但是很多同学用到的地方不是很准确,这里,我把自己平时遇到的坑跟大家说说.我废话不多,只想 ...
- Spring中常见的设计模式——策略模式
策略模式(Strategy Pattern) 一.策略模式的应用场景 策略模式的应用场景如下: 系统中有很多类,而他们的区别仅仅在于行为不同. 一个系统需要动态的在集中算法中选择一种 二.用策略模式实 ...
- 【转】Hibernate面试问题集锦: 概述
ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.你可以从这里查看全部的Java面试系列. Q.怎么配置Hibernate? A.Configuration类使用配 ...
- 被裁的第50天,我终于拿到心仪公司Offer
今天分享的是之前分享文章中被裁的小C,可以看这篇文<寒冬之下,被cai的那些人到底去哪了?>,最近他已经找到心仪公司今日头条Offer,并且即将入职,在应我要求下,他写了篇总结文如下.下文 ...
- PBFT && RBFT算法流程
PBFT && RBFT算法流程以及其实现(上) 这篇文章主要是讲一下RBFT中共识算法流程以及节点的加入的流程.在下一篇博客中,将使用Java实现该算法. 传统的PBFT算法无法动态 ...
- SpringMVC启动流程源码解密
我们知道,SpringMVC最后是通过Tomcat来进行部署的.当在Servlet中进行进行应用部署时,主要步骤为(引用来自http://download.oracle.com/otn-pub/jcp ...
- electron教程(番外篇二): 使用TypeScript版本的electron, VSCode调试TypeScript, TS版本的ESLint
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google ...