paip.提升用户体验---c++ qt 悬浮窗实现
来源:互联网 发布:适合程序员的背包 编辑:程序博客网 时间:2024/05/03 17:20
paip.提升用户体验---c++ qt 悬浮窗实现
作者Attilax , EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
功能:一个悬浮窗,一个普通窗体.. 双击悬浮窗可以显示或者隐藏普通窗体...
1.建立悬浮窗:
--------------------------
悬浮窗要点:
a.从QWidget 继承..没有工具bar, 状态bar...当然,从QMainWindowi继承也能了.
b.去掉标题栏: setWindowFlags( Qt::FramelessWindowHint
c.窗体置顶 setWindowFlags( Qt::WindowStaysOnTopHint
d. 隐藏任务栏图标 setWindowFlags( Qt::Tool) //工具条模式
e: 背景透明 setAttribute(Qt::WA_TranslucentBackground, true);
f: 添加鼠标事件..拖曳..鼠标动态图标等.
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void paintEvent(QPaintEvent *event);
void enterEvent(QEvent *event);
void leaveEvent(QEvent *event);
2.建立普通窗体.
3.悬浮窗增添双击事件,
---------------------------------
signals:
void DoubleClickedSignal();
void FormWdg:: mouseDoubleClickEvent ( QMouseEvent* event )
{
qDebug()<< " floqt win double click";
emit DoubleClickedSignal();
}
4.绑定悬浮窗双击事件信号到执行方法.
---------------------------------------------------------
int main(int argc, char *argv[])
{ MainWindow* w=new MainWindow() ;
FormWdg* widget=new FormWdg() ;
QObject:: connect(widget, SIGNAL(DoubleClickedSignal()), w, SLOT(ShowMainWindow()));
widget->show();
w->show();
5.实际的执行方法.
---------------------------
public slots:
void ShowMainWindow(); //for float invoke
void MainWindow::ShowMainWindow()
{
if(windowState() & Qt::WindowMinimized)
{ show();
setWindowState(Qt::WindowNoState);
} else {
setWindowState(Qt::WindowMinimized);
}
}
参考参考
QT中QWidget、QDialog及QMainWindow的区别 - Hi小新 - 博客园.htm
QT:不规则窗口的实现 - 小豪之家 - 博客频道 - CSDN.NET.htm
QT:窗口最小化时显示一个小浮标_Linux编程_Linux公社-Linux系统门户网站.htm
QT:窗口最小化时显示一个小浮标_Linux编程_Linux公社-Linux系统门户网站.htm
QT中QWidget、QDialog及QMainWindow的区别 - 柳北风儿~~~~~~~欲宇仙炅 - ITeye技术网站.htm
Qt之二(窗口部件) - wen.shuijie的日志 - 网易博客.htm
QT区分鼠标单击和双击事件_陈伯林的电子备忘录_百度空间.htm
Qt自定义窗口基本事件 - chenjinxian88的专栏 - 博客频道 - CSDN.NET.htm
QT中大connect的使用 - imxiangzi的专栏 - 博客频道 - CSDN.NET.htm
qt的qmake和shadow build - bailizi的专栏 - 博客频道 - CSDN.NET.htm
浅谈 qmake 之 shadow build - 1+1=2 - 博客频道 - CSDN.NET.htm
error No rule to make target `c Users Administrator Desktop LED_mainWindow pcb_view.ui', needed by - jiong_1988的专栏 - 博客频道 - CSDN.NET.htm
Qt 出现“undefined reference to `vtable for”原因总结 - MoMo_KUA_1的专栏 - 博客频道 - CSDN.NET.htm
作者Attilax , EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
功能:一个悬浮窗,一个普通窗体.. 双击悬浮窗可以显示或者隐藏普通窗体...
1.建立悬浮窗:
--------------------------
悬浮窗要点:
a.从QWidget 继承..没有工具bar, 状态bar...当然,从QMainWindowi继承也能了.
b.去掉标题栏: setWindowFlags( Qt::FramelessWindowHint
c.窗体置顶 setWindowFlags( Qt::WindowStaysOnTopHint
d. 隐藏任务栏图标 setWindowFlags( Qt::Tool) //工具条模式
e: 背景透明 setAttribute(Qt::WA_TranslucentBackground, true);
f: 添加鼠标事件..拖曳..鼠标动态图标等.
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void paintEvent(QPaintEvent *event);
void enterEvent(QEvent *event);
void leaveEvent(QEvent *event);
2.建立普通窗体.
3.悬浮窗增添双击事件,
---------------------------------
signals:
void DoubleClickedSignal();
void FormWdg:: mouseDoubleClickEvent ( QMouseEvent* event )
{
qDebug()<< " floqt win double click";
emit DoubleClickedSignal();
}
4.绑定悬浮窗双击事件信号到执行方法.
---------------------------------------------------------
int main(int argc, char *argv[])
{ MainWindow* w=new MainWindow() ;
FormWdg* widget=new FormWdg() ;
QObject:: connect(widget, SIGNAL(DoubleClickedSignal()), w, SLOT(ShowMainWindow()));
widget->show();
w->show();
5.实际的执行方法.
---------------------------
public slots:
void ShowMainWindow(); //for float invoke
void MainWindow::ShowMainWindow()
{
if(windowState() & Qt::WindowMinimized)
{ show();
setWindowState(Qt::WindowNoState);
} else {
setWindowState(Qt::WindowMinimized);
}
}
参考参考
QT中QWidget、QDialog及QMainWindow的区别 - Hi小新 - 博客园.htm
QT:不规则窗口的实现 - 小豪之家 - 博客频道 - CSDN.NET.htm
QT:窗口最小化时显示一个小浮标_Linux编程_Linux公社-Linux系统门户网站.htm
QT:窗口最小化时显示一个小浮标_Linux编程_Linux公社-Linux系统门户网站.htm
QT中QWidget、QDialog及QMainWindow的区别 - 柳北风儿~~~~~~~欲宇仙炅 - ITeye技术网站.htm
Qt之二(窗口部件) - wen.shuijie的日志 - 网易博客.htm
QT区分鼠标单击和双击事件_陈伯林的电子备忘录_百度空间.htm
Qt自定义窗口基本事件 - chenjinxian88的专栏 - 博客频道 - CSDN.NET.htm
QT中大connect的使用 - imxiangzi的专栏 - 博客频道 - CSDN.NET.htm
qt的qmake和shadow build - bailizi的专栏 - 博客频道 - CSDN.NET.htm
浅谈 qmake 之 shadow build - 1+1=2 - 博客频道 - CSDN.NET.htm
error No rule to make target `c Users Administrator Desktop LED_mainWindow pcb_view.ui', needed by - jiong_1988的专栏 - 博客频道 - CSDN.NET.htm
Qt 出现“undefined reference to `vtable for”原因总结 - MoMo_KUA_1的专栏 - 博客频道 - CSDN.NET.htm
- paip.提升用户体验---c++ qt 悬浮窗实现
- paip.提升用户体验---c++ qt 悬浮窗实现
- paip.提升用户体验--radio图片选择器 easyui 实现..
- paip.提升用户体验---c++ 悬浮窗体以及右键菜单以及socket接口
- paip.提升用户体验-----用户注册设计
- paip.提升用户体验之全角半角
- paip.提升用户体验---导入导出
- paip.提升用户体验---文件查找
- paip.提升用户体验---提示语
- paip.提升用户体验---注册异常记录
- paip.提升用户体验---搜索功能设计
- paip.提升用户体验----置顶菜单
- paip.提升用户体验---程序异常处理
- paip.提升用户体验---c++ qt 取消gcc编译的警告信息.txt
- paip.提升用户体验=----c++ qt 字体切换功能缺少的总结..
- paip.提升用户体验---c++ qt自定义窗体(1)---标题栏的绘制
- paip.提升用户体验---c++ qt自定义窗体(2)---边框线的绘制
- paip.提升用户体验与提升安全性----记住密码
- OpenRisc-51-基于orpsoc,linux的sd card controller的驱动程序
- HDU 4756 次小生成树
- profile bashrc bash_profile之间的区别和联系
- hdu 4734 F(x)
- 反调试技巧总结-原理和实现
- paip.提升用户体验---c++ qt 悬浮窗实现
- fork实现父进程下有子进程,子进程下又有子进程
- 如何弹出文件打开对话框CFileDialog
- Android 的main.mk完整分析
- VC维的理解
- StringBuffer和Vector的高效率使用
- uva 10785 The Mad Numerologist
- Google Practice Round China New Grad Test 2014
- 有关printf的c语言小程序