Qt通用方法及類庫怎么使用

這篇文章主要介紹“Qt通用方法及類庫怎么使用”,在日常操作中,相信很多人在Qt通用方法及類庫怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Qt通用方法及類庫怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站建設、網站建設、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的南山網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

函數名

    //設置標簽顏色
    static void setLabStyle(QLabel *lab, quint8 type, const QString &bgColor = "", const QString &textColor = "");

    //設置窗體居中顯示
    static void setFormInCenter(QWidget *frm);
    //設置翻譯文件
    static void setTranslator(const QString &qmFile = ":/image/qt_zh_CN.qm");
    //設置編碼
    static void setCode();
    //設置延時
    static void sleep(int msec);
    //設置系統時間
    static void setSystemDateTime(const QString &year, const QString &month, const QString &day,
                                  const QString &hour, const QString &min, const QString &sec);
    //設置開機自啟動
    static void runWithSystem(const QString &strName, const QString &strPath, bool autoRun = true);

函數體

void QUIHelper::setLabStyle(QLabel *lab, quint8 type, const QString &bgColor, const QString &textColor)
{
    QString colorBg = bgColor;
    QString colorText = textColor;

    //如果設置了新顏色則啟用新顏色
    if (bgColor.isEmpty() || textColor.isEmpty()) {
        if (type == 0) {
            colorBg = "#D64D54";
            colorText = "#FFFFFF";
        } else if (type == 1) {
            colorBg = "#17A086";
            colorText = "#FFFFFF";
        } else if (type == 2) {
            colorBg = "#47A4E9";
            colorText = "#FFFFFF";
        } else if (type == 3) {
            colorBg = "#282D30";
            colorText = "#FFFFFF";
        } else if (type == 4) {
            colorBg = "#0E99A0";
            colorText = "#FFFFFF";
        } else if (type == 5) {
            colorBg = "#A279C5";
            colorText = "#FFFFFF";
        } else if (type == 6) {
            colorBg = "#8C2957";
            colorText = "#FFFFFF";
        } else if (type == 7) {
            colorBg = "#04567E";
            colorText = "#FFFFFF";
        } else if (type == 8) {
            colorBg = "#FD8B28";
            colorText = "#FFFFFF";
        } else if (type == 9) {
            colorBg = "#5580A2";
            colorText = "#FFFFFF";
        }
    }

    QStringList qss;
    //禁用顏色
    qss << QString("QLabel::disabled{background:none;color:%1;}").arg(QUIConfig::BorderColor);
    //正常顏色
    qss << QString("QLabel{border:none;background-color:%1;color:%2;}").arg(colorBg).arg(colorText);
    lab->setStyleSheet(qss.join(""));
}

void QUIHelper::setFormInCenter(QWidget *frm)
{
    int frmX = frm->width();
    int frmY = frm->height();
    QDesktopWidget w;
    int deskWidth = w.availableGeometry().width();
    int deskHeight = w.availableGeometry().height();
    QPoint movePoint(deskWidth / 2 - frmX / 2, deskHeight / 2 - frmY / 2);
    frm->move(movePoint);
}

void QUIHelper::setTranslator(const QString &qmFile)
{
    QTranslator *translator = new QTranslator(qApp);
    translator->load(qmFile);
    qApp->installTranslator(translator);
}

void QUIHelper::setCode()
{
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
#if _MSC_VER
    QTextCodec *codec = QTextCodec::codecForName("gbk");
#else
    QTextCodec *codec = QTextCodec::codecForName("utf-8");
#endif
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForTr(codec);
#else
    QTextCodec *codec = QTextCodec::codecForName("utf-8");
    QTextCodec::setCodecForLocale(codec);
#endif
}

void QUIHelper::sleep(int msec)
{
    if (msec > 0) {
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
        QTime endTime = QTime::currentTime().addMSecs(msec);
        while (QTime::currentTime() < endTime) {
            QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
        }
#else
        QThread::msleep(msec);
#endif
    }
}

void QUIHelper::setSystemDateTime(const QString &year, const QString &month, const QString &day, const QString &hour, const QString &min, const QString &sec)
{
#ifdef Q_OS_WIN
    QProcess p(0);
    p.start("cmd");
    p.waitForStarted();
    p.write(QString("date %1-%2-%3\n").arg(year).arg(month).arg(day).toLatin1());
    p.closeWriteChannel();
    p.waitForFinished(1000);
    p.close();
    p.start("cmd");
    p.waitForStarted();
    p.write(QString("time %1:%2:%3.00\n").arg(hour).arg(min).arg(sec).toLatin1());
    p.closeWriteChannel();
    p.waitForFinished(1000);
    p.close();
#else
    QString cmd = QString("date %1%2%3%4%5.%6").arg(month).arg(day).arg(hour).arg(min).arg(year).arg(sec);
    system(cmd.toLatin1());
    system("hwclock -w");
#endif
}

void QUIHelper::runWithSystem(const QString &strName, const QString &strPath, bool autoRun)
{
#ifdef Q_OS_WIN
    QSettings reg("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
    reg.setValue(strName, autoRun ? strPath : "");
#endif
}

到此,關于“Qt通用方法及類庫怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!

網頁題目:Qt通用方法及類庫怎么使用
分享地址:http://m.kartarina.com/article34/pihese.html

成都網站建設公司_創新互聯,為您提供網頁設計公司網站制作外貿網站建設服務器托管網站排名定制開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都做網站
主站蜘蛛池模板: 无码人妻精品一区二| 韩国无码AV片在线观看网站| 亚洲精品无码mⅴ在线观看| 亚洲日韩VA无码中文字幕| 中文字幕在线无码一区| 亚洲爆乳无码专区| 久久无码中文字幕东京热| 一本久道综合在线无码人妻 | 久久国产加勒比精品无码| 亚洲国产精品无码久久98| 无码中文av有码中文a| 久久无码无码久久综合综合| 亚洲AV无码专区在线观看成人| 成人无码一区二区三区| 精品无码久久久久国产| 丰满熟妇人妻Av无码区| 久久亚洲精品无码av| 无码人妻啪啪一区二区| 国产三级无码内射在线看| 国产成人无码免费网站| 国产精品爽爽va在线观看无码| 曰产无码久久久久久精品| 成年午夜无码av片在线观看| 亚洲av无码专区首页| 无码av人妻一区二区三区四区| 亚洲av中文无码乱人伦在线播放| 亚洲天然素人无码专区| 无码夫の前で人妻を侵犯| 久久久无码中文字幕久...| 国产精品午夜福利在线无码 | 免费A级毛片无码视频| 亚洲人成无码网WWW| 亚洲一区无码精品色| 精品无码av无码专区| 无码精品前田一区二区| 免费无码又黄又爽又刺激| 午夜福利无码一区二区| 日本精品人妻无码免费大全| 一本无码人妻在中文字幕免费| 亚洲av无码片在线观看| 亚洲熟妇av午夜无码不卡|