我照搬书上的一个简单文本浏览器代码,在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();
}
}
我在文本浏览代码中用了一下,不行,请高手说明一下关于拖动这方面的知识,谢谢!