QT透明显示文字
2014-05-03 21:55
302 查看
实现效果:
代码:
#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
代码:
#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中调用mplayer显示视频并加透明文字
- QT透明显示文字
- 图片上显示透明文字
- 鼠标悬浮显示文字半透明背景
- MFC实现对话框透明显示:对话框透明而上面的文字不透明
- Qt浅谈之三十七界面文字显示动态化
- Qt 显示透明flash和编写QtWebkit插件
- 如何在PictureBox上透明的显示文字
- js和css两种实现鼠标经过图片时显示透明框的遮罩条文字
- 鼠标悬停显示透明文字内容
- Qt实用技巧:qtwidget中pushbutton成为可点击的图标(实现全透明,不论点击与否都只显示Icon)
- 用Qt实现窗体的无边框、可移动、透明不规则显示(需背景透明的图片)
- Qt 中如何实现对图片设置透明色显示 .
- QT透明窗体子窗体显示
- Qt添加窗口背景图片、Label图片显示、、Label文字显示
- 设置文字QT按钮包含图片与文字,以及鼠标停留备注显示,和sheetstyle风格设置。
- 用Qt实现窗体的无边框、可移动、透明不规则显示(需背景透明的图片)
- 如何让STATIC控件背景透明,只显示文字。其它控件也应该可以适用。
- QT按钮背景颜色设置及文字显示位置设置
- Qt 界面图标显示,并显示文字注释