我有一个应用程序处于非常早期的开发阶段,并且仍然不断地更新或修复bug。该程序是为了完成我的许多工作自动审计,目前正在使用5-7人谁听到它通过葡萄藤。
我不喜欢不断发送电子邮件,要求传播更新已经推出的消息,所以我想实现某种“检查更新”按钮。我该怎么做这样的事?
该按钮只需在我的发布存储库中检查一个新的版本号,并让用户知道他们的版本号是否落后,这是进行这种操作的正确路线吗?还是有一条容易得多的路?
发布于 2014-01-12 22:52:35
我建议甚至避免为此使用复选框,只需使用QFileSystemWatcher完全自动化流程即可。
您需要添加所需的路径,以便首先观看:
::addPath(const QString & path) 如果存在路径,则将路径添加到文件系统监视程序。如果路径不存在,或者它已经被文件系统监视程序监视,则不会添加该路径。 如果path指定了一个目录,那么当路径被修改或从磁盘中删除时,就会发出directoryChanged()信号;否则,当路径被修改、重命名或删除时,就会发出fileChanged()信号。 如果手表成功,则返回true。 手表故障的原因通常与系统有关,但可能包括不存在的资源、访问故障或总监视计数限制(如果平台有此限制)。 注意:可以同时监视的文件和目录的数量可能受到系统依赖的限制。如果达到此限制,则不会监视路径,并返回false。
您将连接到跟随信号
::fileChanged(const QString & path)信号 当指定路径上的文件被修改、重命名或从磁盘中移除时,将发出此信号。
然后,处理程序插槽就可以自动向用户发出一些通知,即使没有显式的复选框。
把这一切付诸实践,我会写这样的东西:
MyClass::MyClass(QObject *parent) : QObject(parent)
{
connect(myFileSystemWatcherPointer, SIGNAL(fileChanged(const QString &)), SLOT(handleFileChanged(const QString &)));
myFileSystemWatcherPoiner->addPath(myFilePath);
}
MyClass::handleFileChanged(const QString &file)
{
if (file == desiredFile)
showUpdatePopUp();
}https://stackoverflow.com/questions/21081064
复制相似问题