qt提升控件,qt设置窗口属性
私人物品的实际分享
Qt界面优化:Qt表单控件设置@TOC
一.效果图
1.鼠标移动的点击效果
2.Qt托盘效应
相信大家在使用QQ、微信、网易云等应用时,会发现关闭界面后,它们会最小化到右下方,生成一个小图标。点击图标后,会再次弹出相关界面,这就是托盘效果。
如下图所示,界面关闭后,软件不会直接关闭,而是在右下方生成一个小图标。双击后,界面会重新打开。右键会调出菜单栏,可以关闭,最大化,最小化。同时,我还增加了一个弹出按钮。点击图标,会弹出相关通知,如下图2所示。
二、使用步骤
1.背景图像的添加
部分。h(添加到私有财产):
QLabel * bglabel。cpp部分:
//背景图片的添加
BG label=ui-label;
bglabel-setPixmap(qpix map(:images//background . png ));//这里是你要添加的图片的路径。
BG label-setScaledContents(true);
的第二行。cpp是要添加的图像的路径。我在这里添加的路径的结果目录是pro的同级目录下的images文件中background.png的图像。ui界面:
将label控件添加到表单中,右键单击,选择back选项更改背景(如果添加的标签被控件遮挡,需要将控件设置为透明后才能完全显示)。
注意:* *你也可以通过改变样式表来改变控件,比如背景、字体颜色、渐变等。但添加背景的效果略逊于使用标签和代码。**
## 2.控制风格的改变
Qt控制风格的改变可以通过两种方法实现。一种是改变控件颜色、背景、渐变、字体样式、颜色等。直接通过在ui界面中右键单击控件并选择“更改样式表”来实现。
也可以通过下图所示的代码实现相关的控件优化:cpp部分:
//控件的透明度
ui-tab widget-set style sheet( background-color:rgba(0,0,0,0););
//tabWidget是要修改的控件的名称。
//美化按钮
ui-按钮- setStyleSheet(
//正常状态样式
QPushButton {
背景色:# E4F2F8//设置按钮背景颜色
边框半径:10px//设置圆角半径
QPushButton:hover{
背景色:# 999999;//设置单击按钮时的背景颜色。
颜色:白色;
});
//设置字体颜色
3.透明Qt表单。cpp部分:
setWindowOpacity(0.85);//0.85是透明度的比例。数字越小,透明度越低。
4.添加Qt托盘
部分。h:
私人:
QSystemTrayIcon * SysIcon
QAction * min//最小化
QAction * max//最大化
QAction * restor//恢复
QAction *退出;//退出
QMenu *菜单;
void close event(QCloseEvent * event);
公共插槽:
void on _ activatedSysTrayIcon(QSystemTrayIcon:activation reason原因);cpp零件
//托盘
menu=new QMenu(这个);
menu- setStyleSheet(背景色:rgba(255,255,255););
QIcon图标(:images//calender logo . png );
sys icon=new QSystemTrayIcon(this);
SysIcon- setIcon(图标);
SysIcon-setToolTip( yx smarter );
Min=new QAction(“窗口最小化”,this);
connect(min,QAction:triggered,this,main window:hide);
Max=new QAction(窗口最大化,this);
connect(max,QAction:triggered,this,main window:show maximized);
Or=new qaction(恢复原貌,这个);
connect(restor,QAction:triggered,this,main window:show normal);
Quit=new QAction (exit ,this);
connect(quit,QAction:triggered,qApp,q application:quit);
connect(SysIcon,QSystemTrayIcon:activated,this,main window:on _ activatedSysTrayIcon);
menu- addAction(分钟);
menu-addAction(max);
menu-addAction(restor);
menu-add separator();//拆分
menu- addAction(退出);
SysIcon- setContextMenu(菜单);
sys icon-show();
close();
功能实现部分
Void主窗口:Close event(qcloseevent * event){//关闭事件
if(SysIcon- isVisible())
this-hide();
事件忽略();
否则{
事件-接受();
void main window:on _ activatedSysTrayIcon(QSystemTrayIcon:activation reason原因)
{//托盘中菜单项的事件处理
开关(原因){
案例QSystemTrayIcon:触发器:
syicon-显示消息( YX Smarter ,欢迎使用云Xi Smart计划!);
打破;
案例QSystemTrayIcon:DoubleClick:
this-show();
打破;
默认值:
打破;
5.将Qt添加到边框。cpp零件
this-setWindowFlags(Qt:frameleswindowhint Qt:WindowSystemMenuHint Qt:WindowMinimizeButtonHint);
表单可以被拖动
部分。h:
私人:
void mouseMoveEvent(QMouseEvent * event);
void mousePressEvent(QMouseEvent * event);
void mouseReleaseEvent(QMouseEvent * event);
q point z;cpp零件
void main window:mouseMoveEvent(QMouseEvent * event)
QWidget:mouseMoveEvent(事件);
q point y=event-global pos();//鼠标相对于桌面左上角的位置,鼠标的全局位置
QPoint x=y-this-
this-move(x);
void main window:mousePressEvent(QMouseEvent * event)
QWidget:mousePressEvent(事件);
q point y=event-global pos();//鼠标相对于桌面左上角的全局位置
QPoint x=this- geometry()。top left();//窗口的左上角是相对于桌面的位置,而窗口的位置
this-z=y-x;//固定值不变。
void main window:mouseReleaseEvent(QMouseEvent * event)
QWidget:mouseReleaseEvent(事件);
this-z=q point();
Qt上面的部分是关于界面优化的。Qt界面优化的所有相关部分都在下面的栏目——Qt界面优化中。有兴趣可以看着用。希望这些文章能让你的Qt软件变得更加漂亮和完美!
另外,如果你有时间,也可以在个人主页的专栏版块查看我的Qt实战专栏和Qt功能优化专栏。里面有Qt相关的实战软件和比较实用的辅助功能,有兴趣的可以看看()
原创作品来自灵璧宇宙,博主,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。