如何在Qt QMainWindow中检测用户不活动?到目前为止,我的想法是使用一个QTimer来增加一个计数器,如果传递了某个值,它将锁定应用程序.任何鼠标或键交互都应该将计时器设置回0.但是我需要知道如何正确处理重置的输入事件; 我可以重新实施:
virtual void keyPressEvent(QKeyEvent *event)
virtual void keyReleaseEvent(QKeyEvent *event)
virtual void mouseDoubleClickEvent(QMouseEvent *event)
virtual void mouseMoveEvent(QMouseEvent *event)
virtual void mousePressEvent(QMouseEvent *event)
virtual void mouseReleaseEvent(QMouseEvent *event)
Run Code Online (Sandbox Code Playgroud)
...但是QMainWindow中所有小部件的事件处理程序不会阻止这些控件中发生的事件到达QMainWindow吗?是否有更好的架构来检测用户活动?
当用户输入时UITextfield,他停止了2秒钟,光标仍然亮着UITextfield,那么我们如何识别这个事件呢?即我想检查编辑是否结束,而不是从第一响应者那里辞职UITextField.这样做的方法是什么?
我使用 i3 窗口管理器并有
set $Locker i3lock --color=000000 && sleep 1
exec --no-startup-id xautolock -time 5 -locker "$Locker"
Run Code Online (Sandbox Code Playgroud)
在其配置文件中,以便它在 5 分钟后锁定。
问题是,即使我正在观看视频,5 分钟计时器也会倒计时,我绝对不喜欢。(顺便说一句,我通常使用 看电影mplayer,但有时我也会使用 访问流媒体网站qutebrowser。)相反,我想xautolock在这种情况下阻止s 操作。
我想到的一种可能的解决方案是将第二行更改为
exec --no-startup-id myscript -time 5 -locker "$Locker"
Run Code Online (Sandbox Code Playgroud)
这里myscript是一个bash /任何脚本/程序通过了所有选项,xautolock只如果我不看一些视频的东西。但我不知道用这个假设的脚本检查什么。
我在 Netlify 上部署的 SvelteKit 应用程序遇到了一个问题,如果我加载该应用程序,然后让页面处于非活动状态几分钟,在某些时候它会中断,如果我尝试导航或执行某些操作,它就会卡住,而且看起来like 无法获取组件,但在某个时刻它最终会加载,但需要很长时间(例如几分钟)。所附的屏幕截图是我尝试通过单击按钮导航到页面后得到的。
这是 Sveltkit 配置:
import adapter from '@sveltejs/adapter-auto';
import preprocess from 'svelte-preprocess';
/** @type {import('@sveltejs/kit').Config} */
const config = {
// Consult https://github.com/sveltejs/svelte-preprocess
// for more information about preprocessors
preprocess: preprocess({
postcss: true
}),
kit: {
adapter: adapter(),
}
};
export default config;
Run Code Online (Sandbox Code Playgroud)
有什么线索吗?
我在 stackoverflow 中搜索了答案,但没有一个符合我的需求。我正在 Swift Cocoa macOS 上创建时间跟踪应用程序,例如 Hubstaff 时间跟踪应用程序。目前运行一个计时器,我想检测用户在 x 段时间后的不活动状态,并发送一条通知,指出他已经空闲了 x 段时间。我是 iOS 和 macOS 开发的新手。我可以举个例子说明怎么做吗?
这是我的代码:
import Cocoa
class ViewController: NSViewController {
@IBOutlet weak var label: NSTextField!
@IBOutlet weak var playImage: NSButton!
var timer : Timer!
var isTimerWorking : Bool = false
var startTime : Date!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func playPause(_ sender: NSButton) {
if isTimerWorking {
endTimer()
playImage.image = NSImage(named: NSImage.Name("play"))
sender.state = .off
} else {
startTimer()
playImage.image = NSImage(named: NSImage.Name("stop"))
sender.state …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用Authlogic gem,我需要用户在15分钟不活动后自动注销.有人能告诉我怎么做吗?
我正在创建一种方法来向我的某个应用程序的支持团队发送调试信息.我有这样的方法调用:
NSString* appVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
NSString* build = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];;
NSString* iOSVersion = [[UIDevice currentDevice] systemVersion];;
Run Code Online (Sandbox Code Playgroud)
另一个要求是了解我们的内部超时如何与设备的屏幕自动锁定计时器进行交互.为此,我们需要将内部超时与ipad屏幕锁定计时器进行比较.
有没有办法获得设备设置中定义的设备自动锁定时间?请参阅下面的屏幕,了解我正在尝试阅读的电话号码

如何检查用户是否处于非活动状态?我有这个:
class UserActivity : IMessageFilter
{
private double afk_time = 0.1;//minutes
private DateTime last_activity = DateTime.Now;
public static bool inactive = false;
private int WM_LBUTTONDOWN = 0x0201;
private int WM_MBUTTONDOWN = 0x0207;
private int WM_RBUTTONDOWN = 0x0204;
private int WM_MOUSEWHEEL = 0x020A;
private int WM_MOUSEMOVE = 0x0200;
private int WM_KEYDOWN = 0x0100;
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == WM_LBUTTONDOWN || m.Msg == WM_MBUTTONDOWN || m.Msg == WM_RBUTTONDOWN || m.Msg == WM_MOUSEWHEEL || m.Msg == WM_MOUSEMOVE || m.Msg …Run Code Online (Sandbox Code Playgroud) ios ×2
.net ×1
authlogic ×1
c# ×1
c++ ×1
cocoa ×1
debugging ×1
fullscreen ×1
i3 ×1
lockscreen ×1
macos ×1
netlify ×1
objective-c ×1
python-idle ×1
qt ×1
screen-lock ×1
svelte ×1
sveltekit ×1
swift ×1
uitextfield ×1
windows ×1