去掉标题栏和设置窗口透明用法
来源:互联网 发布:淘宝怎么开通海外渠道 编辑:程序博客网 时间:2024/05/22 10:33
学习Qt编程,有时候我们很想做出好看又比较炫的画面,这时就常用到qt上的一些技巧。
这里我以一个小例子来展示qt的这些技巧,此qt编程写的,如图:(去掉标题栏和设置窗口透明后)
代码实现部分:
.h文件
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include<QLabel>#include <QMouseEvent>#include<QPalette>namespace Ui { class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0); ~MainWindow();private: Ui::MainWindow *ui;private slots: void on_pushButton_Set_clicked();};#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); this->setWindowTitle("QQ "); this->setWindowIcon(QIcon(":/images/po.jpg")); this->setWindowFlags(Qt::FramelessWindowHint);//去掉标题栏 this->setGeometry(QRect(950, 55, 350, 250));//可设置窗口显示的方位与大小 //this->setWindowOpacity(0.7);//设置透明1-全体透明 this->setAttribute(Qt::WA_TranslucentBackground, true);//设置透明2-窗体标题栏不透明,背景透明 this->resize(300,300);//显示大小}MainWindow::~MainWindow(){ delete ui;}
main.cpp文件
#include <QtGui/QApplication>#include <QTextCodec>#include "mainwindow.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312")); QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312")); QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312")); MainWindow w; w.show(); return a.exec();}
本例中用到的透明是 : 窗体标题栏不透明,背景透明。
这里介绍几种设置透明效果的用法:
1.this->setWindowOpacity(0.7);//全体透明(指的是窗体,标题栏以及上面所有的控件都透明)里面的参数可以控制透明度。
2.窗口整体透明,但是窗体上的控件不透明。 通过设置窗体的背景色来实现,将背景色设置为全透:
代码如下:
pal = palette(); pal.setColor(QPalette::background, QColor(0x00,0xff,0x00,0x00)); setPalette(pal);
3.窗体标题栏不透明,背景透明。(本例中用到的)
this->setAttribute(Qt::WA_TranslucentBackground,true);
4.窗口整体不透明,局部透明:在Paint事件中使用Clear模式绘图。
void mainwindow::paintEvent( QPaintEvent* ) { QPainter p(this); p.setCompositionMode( QPainter::CompositionMode_Clear ); p.fillRect( 30, 30, 300, 300, Qt::SolidPattern ); }
绘制区域全透明,如果绘制区域有控件不会影响控件的透明。
5.这里说一下本程序中怎样去掉标题栏
this->setWindowFlags(Qt::FramelessWindowHint);//去掉标题栏
转载注明:http://blog.csdn.net/liuyang1990i/article/details/8227342
就写到这里了,亲,有收获吗?- 去掉标题栏和设置窗口透明用法
- Qt编程—去掉标题栏和设置窗口透明用法
- Qt编程—去掉标题栏和设置窗口透明用法
- Qt编程—去掉标题栏和设置窗口透明用法
- Java透明窗口(去掉标题栏)
- QT 去掉标题栏和去掉标题栏后移动窗口
- android--窗口去掉标题栏和状态栏
- Swing窗口去掉标题栏
- Android设置标题栏透明
- UINavigationBar 设置透明 和去掉返回按钮
- MFC对话框程序,去掉边框和标题栏;窗口全屏显示。
- Qt 去掉窗口的标题栏
- 去掉状态栏和标题栏
- 安卓去掉ActionBar 和手机标题栏 颜色设置等
- 自绘标题栏,不规则窗口,背景透明
- VC设置窗口透明
- 设置MFC窗口透明
- 设置MFC窗口透明
- java.lang.UnsupportedClassVersionError: Bad version number in .class file
- Ubuntu关闭按钮移到右上角
- ACM菜鸟大牛和教主的区别
- JDeveloper经常黑屏的问题(Windows 7)
- 在泛型中得到T.class
- 去掉标题栏和设置窗口透明用法
- 程序员 7K面试题<一>---交通灯管理系统
- .bash_profile和.bashrc的什么区别
- mips 平台linux系统软浮点
- 集结号
- Mysql TPS QPS 计算方法
- 简易计算器
- 《C++ Primer》读书笔记(2,3.1,3.2)
- 程序员 7K面试题<二>---银行业务系统