• 5878阅读
  • 5回复

关于在statuebar中显示鼠标点击位置的坐标值的问题! [复制链接]

上一主题 下一主题
离线初学者
 
只看楼主 倒序阅读 楼主  发表于: 2006-05-06
各位大侠,帮帮忙。我的程序是这样的:
statusBar()->addWidget(mouseLocationLabel_,0,true);
mouseLocationLabel_->setIndent(6);
mouseLocatonLabel_->setText("x:-;y:-");

void MDI_displayApp::mousePressEvent(QMouseEvent *event)
{
  int xCoordinate,yCoordinate;
  if (event->button() == LeftButton)
  {
    xCoordinate=event->pos().x();
    yCoordinate=event->pos().y();
  };
}

现在我想把xCoordinate和yCoordinate的值显示在statusBar:x: 和y: 后面(顺便请教一下大侠,xCoordinate和yCoordinate是不是能取出鼠标点击位置的坐标值呢? ) 我该怎样做呢? 哎,看了一个下午都不会 还请哪位好心的大侠帮帮忙啊!
[ 此贴被XChinux在2006-05-07 22:06重新编辑 ]
离线初学者
只看该作者 1楼 发表于: 2006-05-07
大侠们帮帮忙啊
离线初学者
只看该作者 2楼 发表于: 2006-05-08
顶起来!
离线flyintwink

只看该作者 3楼 发表于: 2006-05-09
可以,把他们放到一个QSTRING里面,然后扔到QSTATUSBAR里面就OK啦~

但是注意,这个坐标是相对当前QWIDGET的坐标
离线初学者
只看该作者 4楼 发表于: 2006-05-10
谢谢楼上的大侠,但是我还向问个弱弱的问题!

connect(label,SIGNAL(mousePressEvent()),this,SLOT(mouselocation()));

void MDI_displayApp::mouselocation()
{
  label->setText(label->coordinates());

}

QString MDI_displayApp::coordinates(int x,int y);
{
  x=pos().x();
  y=pos().y();
}
大侠能不能帮我看看,这样写在QString 里面会出现从整型到QString转换的问题,编译的时候就通不过,大侠看看我该怎么样改改呢?还有就是,我的那个mousePressEvent()是不是要从写一个函数在头文件的signal里面,定义是鼠标左踺操作才有效呢? 帮帮忙吧!!!!!!!!
离线seraphliu

只看该作者 5楼 发表于: 2006-05-23
用Qstring的setNum方法把整数可以转换为字符串:Qstring qs;qs.setNum(x);

mousePressEvent()不用重写了,系统自带就有这个事件
快速回复
限100 字节
 
上一个 下一个