我正在使用Qt拍摄截图(丝网印刷).
QPixmap::grabWindow(QApplication::desktop()->winId());
Run Code Online (Sandbox Code Playgroud)
我希望应用程序在后台启动,即我希望它在启动时隐藏(甚至在控制台模式下运行).
我怎么能在Qt中这样做?
我想我理解你的问题了.
(据我所知:)
你需要一个应用程序 - 在执行时,不显示小部件并在后台运行.
要实现此目的,您必须尝试使用系统托盘方法 - 在应用程序运行时,系统托盘中会出现一个图标,屏幕上不会显示对话框/窗体/窗口.现在,当您运行应用程序时,您可以使用以下代码:
[main.cpp]
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// this is the important bit
app.setQuitOnLastWindowClosed(false);
Class object;
// do not call object.show()
// but do remember to setup and invoke
// system tray icon in the constructor
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
当然还有很多其他的东西需要设置,对于它们我建议你参考系统托盘图标示例.最重要的是,如果你遵循这种方法,你的应用程序将运行,但屏幕上不会显示任何内容.
在此之后,如果您正在寻找一种调用应用程序的方法 - 那么您可以更深入地为您的应用程序提供全局快捷方式,这可以通过使用Qxt的QxtGlobalShortcut类来实现.
我希望我已正确理解问题并提供了适当的解决方案.
请评论我是否朝着正确的方向前进.
| 归档时间: |
|
| 查看次数: |
6373 次 |
| 最近记录: |