• 4180阅读
  • 6回复

[提问]怎么处理label的单击事件 [复制链接]

上一主题 下一主题
离线wangyan23888
 

只看楼主 倒序阅读 楼主  发表于: 2013-08-29
查了网上的资料,说重写mousePressEvent;
void MainWindow::mousePressEvent(QMouseEvent *event)
{
    在这里面怎么处理来发出对应的label的信号呢?
    比如我现在单击某一个label,怎么检测我现在点击的就是这个label,用位置信息的除外,谢谢
}
离线dbzhang800

只看该作者 1楼 发表于: 2013-08-29
网上让你重写的肯定是 QLabel 而不是QMainWindow 的 mousePressEvent()

--------

另外,你可以用event filter。
离线wangyan23888

只看该作者 2楼 发表于: 2013-08-29
回 1楼(dbzhang800) 的帖子
额,谢谢,不太明白
就是我单击label,怎么发出下面的槽函数呢?比如label的objectname 是 label_send;
private slots:
void sendmsg();
离线wangyan23888

只看该作者 3楼 发表于: 2013-08-29
回 1楼(dbzhang800) 的帖子
我试成功了,重写了下QLabel,谢谢
离线wangyan23888

只看该作者 4楼 发表于: 2013-08-29
回 2楼(wangyan23888) 的帖子
有个问题能不能帮忙看下,谢谢
ui->label->setText(QString("%1\n%2").arg("浙江").arg("杭州"));
显示对的,
然后这样 ui->label->setText(QString("%1\n%2").arg("<font color=red>浙江</font>").arg("杭州"));显示为什么这里没有换行呢?要换行怎么处理呢?谢谢
离线ppdayz

只看该作者 5楼 发表于: 2013-08-30
估计是你用html格式
把\n换成<br>试试
离线wangyan23888

只看该作者 6楼 发表于: 2013-08-30
回 5楼(ppdayz) 的帖子
谢谢,真的按你所说的那样
快速回复
限100 字节
 
上一个 下一个