Если я правильно понимаю вопрос, вы хотите достичь чего-то из следующих пунктов:
- Когда приложение закрывается или выходит, сохраните что-либо в буфер обмена.
- В случае, еслиприложение закрывается или закрывается, и если в буфере обмена есть что-то, вы хотите, чтобы этот контент не пропал.
Я начну со второго пункта, поскольку это легче всего объяснить.Данные, связанные с QClipboard , не привязаны к области действия QApplication .Другими словами, вы можете себе представить, что QClipboard - это просто API, позволяющий получать данные из буфера обмена ОС и устанавливать их (это похоже на QThread таким образом, что QThread - это просто способ представления фактического потока, но сам по себе он не является потоком).Итак, если вы установите что-то через QClipboard , то, несмотря на то, что приложение закрывается, никаких данных не будет.Итак, сеттеры класса QClipboard просто устанавливают данные, но не берут на себя ответственность за управление их областью действия.
Теперь, если вы хотите установить некоторые данные в буфер обмена, если ваше приложение существует илиВыключается, вы, вероятно, можете подключиться к сигналу QObject :: destroy и в его обработчике для установки чего-либо.Например, вы можете сделать что-то подобное:
QObject::connect(&app, &QObject::destroyed, []
{
QApplication::clipboard()->setText("Something you would like to set.");
});
Не уверен, зачем вам это делать, учитывая тот факт, что Qt никак не контролирует область данных буфера обмена операционной системы, но я покажу этот пример, так как это возможно.