摘要:
这次做了一个渐隐渐显的小窗体,窗体用的是之前讲的透明不规则窗体,普通的窗体也可以实现渐隐渐显。原理:窗体启用了一个QTimer来控制其透明度实现渐隐渐显。关键代码:该窗体类中定义了几个变量: double opacityInc;//透明度增长值 double maxOpacity;//最大透明度 bool isDisplay;//是否已经显示 int displayTime;//已经显示了多久 int displayInterval;//窗口显示时间构造时给定一些初始值: opacityInc = 0.08; maxOpacity = 0.8; timerInterval = 50; disp 阅读全文
摘要:
不规则窗体的实现有两种方式:一种是设置窗体的掩码图像;另一种是设置窗体背景透明,然后重写其绘图函数,将背景图绘制上去。第一种方式:首先要准备两张图像,一张是要显示的图像,另一张是第一张图的掩码图像,黑色部分是你的窗体要显示的部分,如图: 具体实现的关键代码如下://IrregularForm1.hIrregularForm1::IrregularForm1(QWidget *parent) : QWidget(parent){ setWindowFlags(Qt::FramelessWindowHint);//设置窗体无边框 //设置背景 QPixmap pixmap(":/pic. 阅读全文
摘要:
最近想实现一个应用程序单例化的程序,在http://www.qtcentre.org/wiki/index.php?title=SingleApplication看到可以通过编写一个SingleApplication类来实现。它提供了两个SingleApplication类,第一个用QSharedMemory, QLocalServer 和 QLocalSocket实现,第二个用QSharedMemory和QTimer实现,具体代码网页说明得很清楚,怎么使用也有代码示例。我自己也将代码做了测试,第二个类被我改成SingleApplication2。编译之后,运行。找到编译出来的文件,再运行一次 阅读全文