【发布时间】:2018-03-07 08:11:00
【问题描述】:
我正在尝试从 QClipboard 获取selectionChanged 信号,但在更改选择时它不会触发。我在 Linux 中试过,它可以工作,但在 Windows 7 中不行。
P。 s。 void QClipboard::dataChanged() 运行良好,但 void QClipboard::selectionChanged() 不行。
如何让selectionChanged 在 Windows 7 中工作?
信号和插槽连接器。
QObject::connect(
qClipboard, &QClipboard::selectionChanged,
this, &MainWindow::clipboardSelectionChanged
);
触发方法。
void MainWindow::clipboardSelectionChanged() {
qDebug() << "works";
}
【问题讨论】:
-
Windows 和 macOS 不支持选择。
-
您的代码正在使用信号
QClipboard::changed,而您的问题是关于QClipboard::selectionChanged()? -
@MohammadKanan 谢谢。我修好了它。我刚刚玩了
QClipboard::changed。必须是selectionChanged -
您可以使用变通方法,通过从像
QTextEdit::copyAvailable这样的小部件获取信号,当您选择文本时发出,请参阅 This post -
问题是我试图在应用程序之外而不是在小部件中进行选择。
标签: c++ windows qt qt5 qt-signals