• 4080阅读
  • 0回复

要在QTextEdit中实现拖放操作是不是要有如下代码 [复制链接]

上一主题 下一主题
离线磐石
 
只看楼主 倒序阅读 楼主  发表于: 2009-12-15
我照搬书上的一个简单文本浏览器代码,在WINDOWS下编译,运行后打开文本,并对其进行复制或粘贴操作都是没问题的,但一移到2440板子里,只要鼠标一拖动就死机了。我看到《精通QT4编程》第七章中读到如下这内容,是不是在写用到QTextEdit或有其它文本操作的,都要用到这段代码的。
书里是这么写的:
    为了开始一个拖动操作,要创建一个QDrag对象,然后调用它的start()函数,一般应该在鼠标移动一定的距离后再开始拖放操作,这样可以更准确地识别拖放操作。在窗口部件的mousePressEvent()中开始一个拖放操作,代码如下:
void MainWindow::mousePressEvent(QMouseEvent *event)
{
  if(event->button==Qt::LeftButton)
  {
   QDrag *drga=new QDrag(this);
   ............................................
Qt::QDropAction dropAction=drag->start();
}
}
我在文本浏览代码中用了一下,不行,请高手说明一下关于拖动这方面的知识,谢谢!
不怕做不到,只怕想不到
快速回复
限100 字节
 
上一个 下一个