Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt中的屏蔽锁_Qt_Screen - Fatal编程技术网

Qt中的屏蔽锁

Qt中的屏蔽锁,qt,screen,Qt,Screen,linux系统上是否有基于Qt的屏幕锁 i、 e.4个pin数字或密码屏幕锁 如有任何参考,将不胜感激 在linux上,屏幕锁定由屏幕保护程序完成,密码来自用户linux帐户 您可以使用QProcess运行命令行并检查其是否成功: gnome屏幕保护程序命令--lock xscreensaver命令--lock qdbus org.freedesktop.ScreenSaver/ScreenSaver Lock qdbus org.gnome.ScreenSaver/ScreenSaver锁

linux系统上是否有基于Qt的屏幕锁

i、 e.4个pin数字或密码屏幕锁


如有任何参考,将不胜感激

在linux上,屏幕锁定由屏幕保护程序完成,密码来自用户linux帐户

您可以使用QProcess运行命令行并检查其是否成功:

  • gnome屏幕保护程序命令--lock
  • xscreensaver命令--lock
  • qdbus org.freedesktop.ScreenSaver/ScreenSaver Lock
  • qdbus org.gnome.ScreenSaver/ScreenSaver锁
  • xlock
和/或使用QtDBus模块执行相同的操作

// Tries to lock the screen and returns true if successful 
bool LockScreenWithDBus() {
    QDBusConnection bus = QDBusConnection::sessionBus();
    if(!bus.isConnected())
        return false;

    QStringList services;       
    services << "org.freedesktop.ScreenSaver"             
             << "org.gnome.ScreenSaver"
    // These last two are probably not necessary, because kde uses freedesktop
    // conventions for dbus
             << "org.kde.ScreenSaver"
             << "org.kde.krunner";           

    foreach(QString service, services) {        
        QDBusInterface screenSaverInterface(service, "/ScreenSaver",
                                            QString(), bus);
        if (!screenSaverInterface.isValid())
            continue;       
        QDBusReply<void> reply = screenSaverInterface.call("Lock");
        if (reply.isValid())
            return true;
    }
    return false;
}
//尝试锁定屏幕,如果成功,则返回true
bool lockscreen with dbus(){
QDBusConnection总线=QDBusConnection::sessionBus();
如果(!bus.isConnected())
返回false;
QStringList服务;

服务您可以创建一个顶级的无框半透明QWidget,屏幕高度和屏幕宽度,并在其中心放置文本框以询问密码