Qt中的label控件如何实现当鼠标移动过去时改变颜色,移开又恢复原来颜色

Qt中的label控件如何实现当鼠标移动过去时改变颜色,移开又恢复原来颜色,以及如何为label添加一个clicked事件

3个回答

重新写个类继承QLabel:

部分代码:
void TestLabel::setEnterFlag(bool flag)
{
isEnter = flag;
update();
}

void TestLabel::enterEvent(QEvent *e)
{
if(e->type() == QEvent::Enter)
{
setEnterFlag(true);
qDebug() << "---enter";
}

}

void TestLabel::leaveEvent(QEvent *e)
{
if(e->type() == QEvent::Leave)
{
setEnterFlag(false);
}
}

void TestLabel::paintEvent(QPaintEvent *e)
{
QPainter painter(this);
// QPainterPath paintPath;

if(isEnter)
    painter.setPen(QPen(Qt::red));
else
    painter.setPen(QPen(Qt::blue));
painter.drawRect(QRect(0,0,this->width()-1,this->height()-1));

}

如果为 label 添加这些东西,没有现成的,需要自己重写事件。颜色更改重写 enterEvent() 和 leaveEvent(),添加鼠标事件重写 mousePressEvent()、mouseReleaseEvent()。

你的这些需求为什么要用 label 来实现呢?建议最好的方式用 QPushButton。button 设置背景透明看起来和 label 没什么两样。

使用setstylesheet函数,然后ccs样式来实现

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何实现鼠标指向GridView控件的行时,该行改变颜色,离开该行时又恢复原来的颜色???
如何实现鼠标指向GridView的行时,该行改变颜色,离开该行时又恢复原来的颜色???这个肯定要用到JavaScript脚本了吗?还是GridView控件本身有此功能???
鼠标在表格上移动时会改变当前行的颜色,移开后恢复原来的颜色,如何实现?
鼠标在表格上移动时会改变当前行的颜色,移开后恢复原来的颜色,如何实现?谢谢!
.net 中动态生成的表格,当鼠标经过tr时改变tr当前颜色,当鼠标移开恢复原来的颜色
.net 中动态生成的表格,当鼠标经过tr时改变tr当前颜色,当鼠标移开恢复原来的颜色,高手们求教了!!!
在vb.net中如何实现控件的移动(label )
谢谢
当鼠标移动到按钮上的时候改变当前的背景色,当鼠标移开的时候又恢复到原来的背景色!如何办得到?
当鼠标移动到按钮上的时候改变当前的背景色,当鼠标移开的时候又恢复到原来的背景色!如何办得到?
当鼠标移开的时候,使它的颜色恢复成原来的样式,音乐也停止?????/
当鼠标移到button上的时候,使它的颜色发生变化,rn同时播放一个简单的*.wav等的文件。在这里我用的是(onmousemove)事件。rn当鼠标移开的时候,使它的颜色恢复成原来的样式,音乐也停止。这里是我的关键所在??rn请各位大虾帮帮忙,非常感谢!rn
qt界面中label的移动
我需要对界面中label的位置发生改变,应使用什么呢?rnrn#include "dialog.h"rn#include "ui_dialog.h"rnrnDialog::Dialog(QWidget *parent) :rn QDialog(parent),rn ui(new Ui::Dialog)rnrn ui->setupUi(this);rn t.stop();rn connect(&t,SIGNAL(timeout()),this,SLOT(timer()));rn x=ui->label->x();rnrnrnrnrnDialog::~Dialog()rnrn delete ui;rnrnvoid Dialog::timer()rnrn x=ui->label->x();rnrnrnvoid Dialog::on_pushButton_clicked()rnrn t.start(1000);rnrn
当鼠标经过时如何改变颜色?
在DataGrid中有一模板列,上面绑定了一个超链接按钮,rn如何可以做到当鼠标经过该单元格时改变单元格的颜色为灰色,鼠标离开该单元格时颜色变回原来的颜色?rn当鼠标经过超链接按钮时,超链接按钮的颜色显示为红色,鼠标离开时,超链接按钮为蓝色显示?
如何使窗体中的LABEL在光标移动和点击时,改变颜色
如何在程序中设置labelrn使光标移入时显示不同的颜色,rn在点击时又显示不同的颜色rn我试着在mouseenter 和mouseleave 和mousedown里编 写了你码rn但运行时显示不明显rn要把光标放在label上一会儿才变色rn请问有没有别的办法rn谢了~~~~~~~~~~~
在样式表中如何实现:当鼠标移到/移开...时变色?
我想请教各位:rn在样式表中如何实现:当鼠标移到/移开...时变色?rn这样的话,不必要在程序中用事件触发。
如何移动label控件组
窗体上有N个label1控件组,点击任意一个都可以移动rn下面是移动一个label1的源码,我做成移动控件组的怎么改rn[code=vb]Dim x1 As Single, y1 As SinglernrnPrivate Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)rnx1 = X: y1 = YrnEnd SubrnrnPrivate Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)rnrnIf Button = 1 Thenrn Label1.Left = Label1.Left + X - x1rn Label1.Top = Label1.Top + Y - y1rnEnd IfrnEnd Subrn[/code]
GridView 当鼠标经过改变颜色
[code=C#]rnGridView1_RowDataBound 事件里rnrnrn if (e.Row.RowType == DataControlRowType.DataRow) rn rn e.Row.Attributes.Add( "onmouseover ", "this.style.backgroundColor= '#E8F4FF ';this.style.color= 'red ' "); rn e.Row.Attributes.Add( "onmouseout ", "this.style.backgroundColor= '#ffffff ';this.style.color= '#000000 ' "); rnrn e.Row.Attributes.Add( "onclick ", "javascript:window.location.href= 'admin_admin_ok.aspx?id= " + sysID + " '; "); rn e.Row.Attributes[ "style "] = "Cursor:hand ";rnrn[/code]rnrn但是这个不行啊 不改变颜色 那位高手给指点一下
新手求助!表格当鼠标移入到某行的时候这行的颜色变成深蓝色,鼠标移开又回到原来的颜色
当鼠标移入到某行的时候这行的颜色变成深蓝色,鼠标移开又回到原来的颜色:rn求各位高手帮帮我!
Button 点击后改变颜色 (不是点击后改变颜色又恢复)
惯例先上效果图1.首先我们想制作这个按钮的样式创建一个selector的xml文件规定了,按钮,被按下和不被按下时的背景颜色不懂的同学点击这里<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Non focused
如果在鼠标移动到控件上之后,动动态的改变控件的颜色?在鼠标移开之后,控件在恢复原来的颜色?
如题:
Qt label上画方框实现任意移动
一般我们很好实现在Qt主界面上实现画图,通过paintEvent(QPaintEvent *event)就可以实现在界面上画各种图案,但是在label上该如何操作呢?下面向大家介绍如何在label上画方框。 这里通过自定义一个label类,在自定义label类mylabel中还是使用paintEvent(QPaintEvent *event)函数,对其进行重写,但是这个...
当鼠标放在文字上,背景图片变换,移开换回原来的图片
onmouseover="this.style.backgroundImage='url(t_03.gif)'" onmousemove="this.style.backgroundImage='url(6_03.gif)'"rnrn为什么这段代码有问题??
label控件的颜色
在windowsform窗体中,界面拖拽一个groupBox控件(名字为groupBox1),然后再groupBox里面拖拽了30个label控件rn现在修改label的颜色为蓝色。rn foreach (System.Windows.Forms.Control control in this.Controls)rn rn if (control is System.Windows.Forms.Label)rn rn Label r = (Label)control;rn r.ForeColor = Color.Blue;rn rn rn rn但是不可行,跟踪程序发现如果没有groupbox是可行的,请问大家怎么写的,别跟领导似得撒布那几的rn一个个去赋值。
当鼠标移到Label上时,Label的字体变粗,如果鼠标离开时,字体又回到原来的状态,如何实现
同标题
如何实现鼠标离开Label时,Label中的文字还原原来的颜色?
想实现这样的功能,当将鼠标滑过一label时,label中的文字变换颜色,离开时在还原原来的颜色,用到以下过程:rnrnPrivate Sub lblTag1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)rn Me.lblTag1.ForeColor = vbBluernEnd Subrnrn实现了当将鼠标滑过一label时,label中的文字变换颜色,但如何实现鼠标离开时在还原原来的颜色?rnrn
ListView中点击改变背景色并且原来的恢复到原来的颜色
git源码地址:git@github.com:zzggxx/ListView_HunLunChuLi.git  (请选择Click_ChangeBackGroud之moudle) listview中应该是最恰当的并且是最节省资源的方式,改变背景色.不能是全部的刷新模式,但是受限于listview老久的控件,所以使用全部刷新,并且其中写了最容易烦的错误点
label标题文字改变颜色
NSMutableAttributedString *noteStr = [[NSMutableAttributedString alloc] initWithString:@"输入一段话,123改变颜色"]; NSRange redRange = NSMakeRange([[noteStr string] rangeOfString:@"123"].location, [[noteStr st
当鼠标移到控件时,控件的颜色改变
在页面上有一个LinkButton控件和一个Datalist控件,当鼠标移动到LinKButton时,它的背景颜色改变,同时Datalist所显示的内容也改变.那位高手帮帮忙!!!
如何设置label控件的文本颜色
用vb.net做一个WEB页面,XXXX.ASPX文件中放置一个label控件rn55555rnrn在后台的XXXX.ASPX.VB文件的某个事件里面rn如何编码实现label的文本变成红色?求教!!!!
如何给label控件设置边框的颜色?
如何给label控件设置边框的颜色?
C#中怎样使Label的颜色在鼠标停留在控件上时改变为另一颜色,而鼠标离开时又恢复到原来的颜色
如题,谢谢,解决即结贴.
如何使LABEL控件水平移动?
如题,可行马上结帐
Label 如何漫漫移动?
我想让图缓慢移动.在LABEL 中放入图, 在 ONCLICK 事件用:rn for(i=259;i>2; i--)rn Thread.sleep(200);rn Label1.setLocation(i,69);rn rnrn但LABEL 不移,等待一会后,一下就移到终点,如何解决?
SWT中如何实现label控件的闪烁?
需求:点击A窗口中的一个button,实现B窗口中一个的一个label闪烁,然后点击B窗口那个闪烁的label后停止闪烁rn是否要用到多线程?本人新手,求具体代码!!谢谢!
【QT】QT中label显示图片
QPixmap picture;// .h 文件中// .c文件 picture.load(&quot;images/dengdai.png&quot;); ui-&gt;fengren_picture-&gt;setPixmap(picture); ui-&gt;fengrenlabel-&gt;setText(&quot;等待输入&quot;); images文件夹放到编译之后的debug文件或是release文件中
label 的mousemove事件当鼠标移开label时怎么还发生事件响应
label 的mousemove事件当鼠标移开label时怎么还发生事件响应,如何控制鼠标光标在label上的变化
急!在VB6中,当鼠标在Label控件上方时,Label文字的颜色变红,当鼠标移出后,文字恢复黑色。使用什么事件?
急!在VB6中,当鼠标在Label控件上方时,Label文字的颜色变红,当鼠标移出后,文字恢复黑色。使用什么事件?rn在一个窗体上有十多个这样的Label控件,都是这样。rn最好能有源代码。
Qt中如何将label控件置顶的问题
1.ui-&amp;gt;label-&amp;gt;setGeometry();可用上面函数设置label坐标2.右键控件,选中Layout  Alignment  可设置控件顶部显示,底部显示,靠左显示,靠右显示。    控件大小可以用设置最小(最大)高度、宽度来调节。(可用来顶部显示文本等)...
NavigationView 设置图标恢复原来的颜色
NavigationView navigationView = findViewById(R.id.nav_view); navigationView.setItemIconTintList(null);
如何实现随机改变颜色??
import java.applet.*;rnimport java.awt.*;rnimport java.util.*;rnrnpublic class A extends Appletrnrn public void paint(Graphics g)rn rn int x,y,z;rn Random rand = new Random();rn int i, j, k;rn rn i = rand.nextInt() % 255;rn j=rand.nextInt() % 255;rn k=rand.nextInt() % 255;rn Color c=new Color(i,j,k);rn g.getColor(c);rn g.drawString("Hello World!",50,50);rn g.drawOval(100,200,50,60);rn rnrn为什么不对?请指点,谢谢
QT creator Label控件时间问题
在label中获取到当前系统的时间之后,checkbox有两个选项 一个是小时,一个是分钟n判断nif(ui->checkbox_xs->ischecked())nn如果小时被勾选之后,button按钮是怎样去 在这里实现对label时间中的小时进行时间更改。n时间格式yyyy-MM-dd hh:mm:ss dddd 就只要对hh进行更改n}nn求详细的思路,以及所需的代码
如何实现鼠标移动到一个button上就改变button.caption,移开后恢复原来的caption
如题
QT中label的click事件
我界面上有一个label和一个button,我给label设定了click事件,可以点击label实现一些功能。但是为什么不能像button一样点击它显示出QMessageBox呢?求解答?
请教高手(软件中的按钮如何做到:当鼠标移到上面时改变颜色,鼠标移出时恢复成默认颜色?)
软件中的按钮如何做到:当鼠标移到上面时改变颜色,鼠标移出时恢复成默认颜色?就像网页中的超级链接一样!rn先行谢过!
请教(软件中的按钮如何做到:当鼠标移到上面时改变颜色,鼠标移出时恢复成默认颜色?) 在线等!
软件中的按钮如何做到:当鼠标移到上面时改变颜色,鼠标移出时恢复成默认颜色?就像网页中的超级链接一样!rn先行谢过!^_^rn
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池