【问题标题】:Drag and Drop in a specific Area | Qt拖放到特定区域 | Qt
【发布时间】:2018-06-14 09:24:28
【问题描述】:

我有一个 MainWindow,在 MainWindow 里面有 QTextEdit。我想做

setAcceptDrop(true)

仅在 QTextEdit 中,即我不想在 MainWindow 中启用 drop,但应该在 QTextedit 中启用它。 我已经看到了一些示例,并且到处都发现它们在 MainWindow 上实现拖放机制,因此它会自动在 QTextEdit 上实现,但我希望它专门在 QTextEdit 中实现。

我已附上示例应用程序的图片以供参考!

Example

【问题讨论】:

  • 你会在 QTextEdit 中放入什么类型的元素?

标签: c++ qt drag-and-drop qtextedit


【解决方案1】:

ui->textEdit->setAcceptDrops(true);

【讨论】:

  • 但我将不得不编写像 dragEnterEvent(QDragEnterEvent *event)dropEvent(QDropEvent *event) 这样的函数,我应该为哪个类编写这些功能?我必须为 Mainwindow 编写它,对吗?如果我这样做了,我猜它会在 Mainwindow 上激活一个放置区域。
  • 你应该能够在任何你想要的课程中做到这一点。看看这个doc.qt.io/qt-5/graphicsview.html#drag-and-drop
  • 我不明白!那么我应该在 UI 中为 QTextEdit 对象创建一个类吗?如果是,请告诉我该怎么做?
  • 我不知道您是否应该使用我拥有的信息。调用 textEdit 的 setAcceptDrops 方法不会影响您的 Mainwindow,即使您从其类中调用它也是如此。您可以调用 this->setAcceptDrops(false) 来确保这一点。
猜你喜欢
  • 1970-01-01
  • 2018-12-15
  • 2020-06-28
  • 1970-01-01
  • 2022-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多