国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin)

這篇具有很好參考價(jià)值的文章主要介紹了QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

0、背景

在使用QT進(jìn)行嵌入式應(yīng)用開發(fā)時(shí),往往程序最終的運(yùn)行設(shè)備是有觸屏的設(shè)備。因此,不可避免的會(huì)遇到虛擬鍵盤和中文輸入的問題。QT自帶一個(gè)虛擬鍵盤,可以在構(gòu)建套件/plugins/platforminputcontexts目錄下看到2個(gè)文件:

  • qtvirtualkeyboardplugin.dll
  • qtvirtualkeyboardplugin.dll.debug

QT自帶的虛擬鍵盤屏幕占比較大,而且很容易擋住輸入框,默認(rèn)不能拖動(dòng),不太完美。本就介紹一種替代方式,就是在QT程序中使用GooglePinyin輸入法實(shí)現(xiàn)虛擬鍵盤和中文錄入。

1、環(huán)境

操作系統(tǒng):windows10專業(yè)版
QT版本:5.15.2
QT安裝目錄:D:\Qt
QT編譯套件1:MinGW64
QT編譯套件2:MSVC2019_64

2、下載QtInputMethod_GooglePinyin源碼

1、下載地址:
https://gitee.com/tgtsml/QtInputMethod_GooglePinyin
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
2、下載后可以看到壓縮包如下圖:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
3、解壓縮后如下圖:QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
4、文件夾的內(nèi)容如下:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記

3、使用MinGW64構(gòu)建套件編譯

3.1 編譯QtInputMethod_GooglePinyin源碼

1、通過qtcreator打開tgtsmlInputContextPlugin.pro工程,本例采用的MinGW64構(gòu)建套件。如下圖:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
2、然后分別以debug模式和release模式對tgtsmlInputContextPlugin進(jìn)行重新構(gòu)建,會(huì)在tgtsmlInputContextPlugin.pro同級目錄下生成一個(gè)build目錄,如下圖:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記

3.2、部署tgtsmlInputContextPlugin輸入法插件

1、把上一步編譯生成的build/bin/platforminputcontexts目錄下的

  • tgtsmlInputContextPlugin.dll
  • tgtsmlInputContextPlugind.dll

如下圖:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
復(fù)制到D:\Qt\5.15.2\mingw81_64\plugins\platforminputcontexts目錄下。

3.3、運(yùn)行測試程序

1、可以看到下載的源碼中包括一個(gè)測試程序demo,關(guān)鍵引入輸入法虛擬鍵盤的代碼如下:

qputenv("QT_IM_MODULE", QByteArray("tgtsml"));

如下圖:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
這樣當(dāng)光標(biāo)聚焦在輸入文本框時(shí),會(huì)自動(dòng)彈出虛擬鍵盤。
運(yùn)行效果如下:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記

4、使用MSVC2019_64構(gòu)建套件編譯

4.1 編譯QtInputMethod_GooglePinyin源碼

1、在項(xiàng)目選項(xiàng)卡中對當(dāng)前項(xiàng)目的構(gòu)建套件切換至MSVC2019_64構(gòu)建套件上,然后對項(xiàng)目進(jìn)行重新構(gòu)建,然后這時(shí)出現(xiàn)了很多錯(cuò)誤,如下圖:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
2、解決這些問題需要做2個(gè)方面的修改。
2.2.1 第1是把所有pro的換行符由Unix(LF)改為Windows(CRLF)
如下,原來是這樣:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
改成下面這樣:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
2.2.2 第2是在demo.pro、googlepinyin.pro、plugin.pro 3個(gè)文件中增加中文處理的配置,如下:

# 解決msvc構(gòu)建套件下qtcreator控制臺(tái)日志中文亂碼問題
msvc {
    QMAKE_CFLAGS += /utf-8
    QMAKE_CXXFLAGS += /utf-8
}

如下圖所示:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
3、然后再重新構(gòu)建,就能正常編譯過去了。同樣使用debug模式和release模式編譯完畢后會(huì)在會(huì)在tgtsmlInputContextPlugin.pro同級目錄下生成一個(gè)build目錄,如果之前在MinGW64構(gòu)建套件下已生成了,建議先刪除,或者在pro文件中指定使用不同構(gòu)建套件時(shí)生成的庫放到不同位置,如下:

# 指定輸出目錄
!msvc {
    DESTDIR = ../../wongoing_plugin_bin
}
msvc {
    DESTDIR = ../../wongoing_plugin_bin_msvc
}

4.2、部署tgtsmlInputContextPlugin輸入法插件

1、把上一步編譯生成的build/bin/platforminputcontexts目錄下的

  • tgtsmlInputContextPlugin.dll
  • tgtsmlInputContextPlugind.dll
  • tgtsmlInputContextPlugind.pdb

如下圖:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
復(fù)制到D:\Qt\5.15.2\msvc2019_64\plugins\platforminputcontexts目錄下。

4.3、運(yùn)行測試程序,與步驟3.3相同。

5、修改QtInputMethod_GooglePinyin源碼解決在分屏情況下虛擬鍵盤顯示越界及不能跨屏顯示的問題

1、當(dāng)我的筆記本電腦有外接了一個(gè)顯示時(shí)(擴(kuò)展模式)使用時(shí)會(huì)出現(xiàn)2個(gè)問題,第1個(gè)問題是虛擬鍵盤不能顯示到擴(kuò)展屏幕上,雖然我的demo窗口顯示在擴(kuò)展屏幕。第2個(gè)問題,就是當(dāng)demo窗口(輸入框窗口)在主屏幕最右測時(shí),虛擬鍵盤會(huì)有一部分顯示不出來,就是顯示越界。具體如下圖:
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
上圖是虛擬鍵盤不能跨屏幕顯示,只能顯示在主屏上。
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
上圖是右側(cè)顯示不完整的情況。
2、修改plugin項(xiàng)目中的tgtsmlplatforminputcontext.cpp文件中的void TgtsmlPlatformInputContext::showInputPanel()中的代碼,如下:

void TgtsmlPlatformInputContext::showInputPanel()
{
    if(!m_keyboard){
        m_keyboard = new KeyboardForm;
        connect(m_keyboard, &KeyboardForm::sendKeyToFocusItem, this, &TgtsmlPlatformInputContext::sendKeyToFocusItem);
    }
    if(m_keyboard->isHidden())m_keyboard->show();
    QWidget *widgetTmp = qobject_cast<QWidget*>(m_focusitem);
    if(widgetTmp){        
        //注釋以下代碼,因?yàn)闆]有考慮擴(kuò)展屏幕的坐標(biāo)問題
//        QPoint widgetGlobalPos = widgetTmp->mapToGlobal(QPoint(0, 0));
//        if(widgetGlobalPos.x() < 0){
//            widgetGlobalPos.setX(0);
//        }
//        if(widgetGlobalPos.y() < 0){
//            widgetGlobalPos.setY(0);
//        }
//        if(qApp->desktop()->width() - widgetGlobalPos.x() < m_keyboard->width()){
//            widgetGlobalPos.setX(qApp->desktop()->width() - m_keyboard->width());
//        }
//        if(qApp->desktop()->height() - widgetGlobalPos.y() - 30 < m_keyboard->height()){
//            widgetGlobalPos.setY(widgetGlobalPos.y() - m_keyboard->height() - 10);
//        }
//        else{
//             widgetGlobalPos = widgetGlobalPos + QPoint(0,30);
//        }
//        m_keyboard->move(widgetGlobalPos);

        //改為以下代碼,增加考慮擴(kuò)展屏幕的代碼
        //獲取當(dāng)前屏幕及屏幕幾何矩形坐標(biāo)
        int currentScreen = qApp->desktop()->screenNumber(widgetTmp);
        if (currentScreen <  0)
        {
        	currentScreen = 0;
		}
        QScreen *screen = QGuiApplication::screens().at(currentScreen);
        QRect rect = screen->geometry();
        QPoint widgetGlobalPos = widgetTmp->mapToGlobal(QPoint(0, 0));
        if(widgetGlobalPos.x() < rect.x()) {
            widgetGlobalPos.setX(rect.x());
        }
        if (widgetGlobalPos.y() < rect.y())
        {
            widgetGlobalPos.setY(rect.y());
        }
        if(rect.width() - widgetGlobalPos.x() < m_keyboard->width()) {
            widgetGlobalPos.setX(rect.width() - m_keyboard->width());
        }
        if(rect.height() - widgetGlobalPos.y() - 30 < m_keyboard->height()) {
            widgetGlobalPos.setY(widgetGlobalPos.y() - m_keyboard->height() - 10);
        }
        else {
            widgetGlobalPos = widgetGlobalPos + QPoint(0,30);
        }
        m_keyboard->move(widgetGlobalPos);
    }
}

3、修改后重新編譯、重新部署,再運(yùn)行demo程序就正常了。

6、修改QtInputMethod_GooglePinyin源碼解決在Linux Arm環(huán)境下部分應(yīng)用資源沖突導(dǎo)致無法加載qss和ota字體的問題

1、當(dāng)在嵌入式Linu Arm環(huán)境中使用GooglePinyin虛擬鍵盤時(shí),如果某個(gè)Qt應(yīng)用使用了資源文件可能會(huì)導(dǎo)致GooglePinyin虛擬鍵盤無法加載:/res/stylesheet.qss和:res/FontAwesome.otf從而無法顯示虛擬鍵盤進(jìn)而導(dǎo)致程序崩潰。
QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin),qt,qt,學(xué)習(xí),筆記
2、要解決這個(gè)問題,需要修改plugin項(xiàng)目中的keyboardform.cpp文件中的KeyboardForm::KeyboardForm(QWidget *parent)
: QWidget(parent)中的代碼,如下:

KeyboardForm::KeyboardForm(QWidget *parent)
    : QWidget(parent)
{
    character_btns_list.clear();
    current_mode = InputMode::en;
    upper_mode = false;
    m_symbol_page = 0;
    this->setFixedSize(800,250);
    int keyboard_btn_width = this->width()/11.5;
    int keyboard_btn_height = this->height()/5.0;
    //設(shè)置主窗體樣式
    this->setAttribute(Qt::WA_TranslucentBackground);
    this->setWindowFlags(Qt::Tool | \
                         Qt::FramelessWindowHint | \
                         Qt::WindowStaysOnTopHint | \
                         Qt::WindowDoesNotAcceptFocus);
    //加載QSS樣式表
//    QFile qss(":/res/stylesheet.qss");
//    if(false == qss.open(QFile::ReadOnly))return;
//    this->setStyleSheet(qss.readAll());
//    qss.close();
    //以上代碼在窗體及容器控件的多層嵌套情況下會(huì)導(dǎo)致qss樣式資源無法加載,改為以下代碼
    QFile qss(":/res/stylesheet.qss");
    if (qss.exists() && qss.open(QFile::ReadOnly))
    {
        this->setStyleSheet(qss.readAll());
        qss.close();
    }
    else
    {
        QString strcss = "" \
                "QWidget{background-color:black;}" \
                "QPushButton{font:25px;background-color:gray;color:white;border:2px solid black;border-radius:10px;}" \
                "QPushButton#function_button{background-color:rgb(80,80,80);color:rgb(200,200,200);font:20px;}" \
                "QPushButton:hover{background-color:green;color:white;}" \
                "QPushButton:pressed,QPushButton#function_button::pressed{background-color:red;color:white;}" \
                "QPushButton#function_button:checked{background-color:rgb(200,100,50);color:yellow;}" \
                "QPushButton#hanzichangepage,QPushButton#hanzicandidates{background-color:transparent;color:white;}" \
                "QPushButton#hanzichangepage:pressed{color:red;}" \
                "QPushButton#hanzichangepage:disabled{color:gray;}" \
                "QPushButton#emoji{background-color:rgb(80,80,80);color:yellow;}" \
                "QPushButton#emoji:hover{color:red;}" \
                "QPushButton#emoji:pressed{color:blue;}" \
                "QLabel{background-color:rgba(255,255,255,80);border-radius:2px;color:white;font:15px;margin-left: 5px;}";
        this->setStyleSheet(strcss);
    }

    //圖標(biāo)字體
//    int fontId = QFontDatabase::addApplicationFont(":/res/FontAwesome.otf");
//    QString fontName = QFontDatabase::applicationFontFamilies(fontId).at(0);
//    QFont btnicofont(fontName);
//    btnicofont.setPixelSize(10);

    //以上代碼在窗體及容器控件的多層嵌套情況下會(huì)導(dǎo)致字體資源無法加載,改為以下方式
    QFont btnicofont(QString("Arial"));
    btnicofont.setPixelSize(10);
    if (QFile::exists(":res/FontAwesome.otf"))
    {
        int fontId = QFontDatabase::addApplicationFont(":/res/FontAwesome.otf");
        QString fontName = QFontDatabase::applicationFontFamilies(fontId).at(0);
        btnicofont.setFamily(fontName);
    }
#ifdef Q_OS_LINUX
    else if (QFile::exists("/usr/share/font-awesome/fonts/FontAwesome.otf"))
    {
        int fontId = QFontDatabase::addApplicationFont("/usr/share/font-awesome/fonts/FontAwesome.otf");
        QString fontName = QFontDatabase::applicationFontFamilies(fontId).at(0);
        btnicofont.setFamily(fontName);
    }
#endif
    else
    {
        qWarning() << "can not find FontAwesome.otf";
    }

    //單行布局
    QHBoxLayout *hb[6];
    for(int i=0; i<6; i++)
    {
        hb[i] = new QHBoxLayout();
        hb[i]->setMargin(0);
        i == 1 ? hb[i]->setSpacing(2) : hb[i]->setSpacing(0);
    }

    widget_pinyin = new QWidget(this);
    widget_pinyin->setFixedHeight(keyboard_btn_height);
    //拼音緩存
    m_label_pinyin = new QLabel(this);
    m_label_pinyin->setFixedHeight(keyboard_btn_height*0.4);
    hb[0]->addWidget(m_label_pinyin);
    hb[0]->addStretch(1);

    //漢子緩存
    for(int i=0; i<chinesecharacters_number; i++)
    {
        QPushButton *btn = new QPushButton(this);
        btn->setFixedHeight(keyboard_btn_height*0.6);
        hb[1]->addWidget(btn);
        if(i != chinesecharacters_number - 1) hb[1]->addStretch(1);
        if (i == 0 || i == chinesecharacters_number-1)
        {
            change_chinese_characters_page_list.append(btn);
            btn->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
            btn->setFont(btnicofont);
            btn->setText(i == 0 ? QString(QChar(0xf0d9)) : QString(QChar(0xf0da)));
            btn->setObjectName("hanzichangepage");
            i == 0 ? \
            connect(btn, &QPushButton::clicked, this, &KeyboardForm::chineseCharactersUpdatePrevious) :
            connect(btn, &QPushButton::clicked, this, &KeyboardForm::chineseCharactersUpdateNext);
        }
        else
        {
            chinese_characters_list.append(btn);
            btn->setObjectName("hanzicandidates");
            connect(btn, &QPushButton::clicked, this, &KeyboardForm::chineseCharactersSelected);
        }
    }

    QVBoxLayout *vb_pinyin = new QVBoxLayout(widget_pinyin);
    vb_pinyin->addLayout(hb[0]);
    vb_pinyin->addLayout(hb[1]);
    vb_pinyin->setMargin(0);
    vb_pinyin->setSpacing(0);

    widget_keyboard = new QWidget(this);
    widget_keyboard->setFixedHeight(keyboard_btn_height*4.0);

    //鍵盤
    for(int i=0; i<29; i++)
    {
        QPushButton *btn = new QPushButton(QChar(keyboard_characters[i]),this);
        btn->setFixedSize(keyboard_btn_width, keyboard_btn_height);
        character_btns_list.append(btn);
        connect(btn, &QPushButton::clicked, this, &KeyboardForm::characterButtonClicked);
    }
    //第一排字母:0-9
    for(int i=0; i<10; i++)
    {
        hb[2]->addWidget(character_btns_list.at(i));
    }
    QPushButton *btn_backspace = new QPushButton(QChar(0xf060));
    btn_backspace->setFont(btnicofont);
    btn_backspace->setFixedSize(keyboard_btn_width*1.5, keyboard_btn_height);
    btn_backspace->setObjectName("function_button");
    hb[2]->addWidget(btn_backspace);
    connect(btn_backspace, &QPushButton::clicked, this, &KeyboardForm::btnBackspaceClicked);
    //第二排字母:10-18
    hb[3]->addStretch(1);
    for(int i=10; i<19; i++)
    {
        hb[3]->addWidget(character_btns_list.at(i));
    }
    QPushButton *btn_enter = new QPushButton("Enter");
    btn_enter->setFixedSize(keyboard_btn_width*1.5, keyboard_btn_height);
    btn_enter->setObjectName("function_button");
    hb[3]->addWidget(btn_enter);
    hb[3]->addStretch(1);
    connect(btn_enter, &QPushButton::clicked, this, &KeyboardForm::btnEnterClicked);
    //第三排字母:20-26
    QPushButton *btn_upper = new QPushButton(QChar(0xf062));
    btn_upper->setFixedSize(keyboard_btn_width*1.5, keyboard_btn_height);
    btn_upper->setFont(btnicofont);
    btn_upper->setObjectName("function_button");
    hb[4]->addWidget(btn_upper);
    connect(btn_upper, &QPushButton::clicked, this, &KeyboardForm::btnUpperClicked);
    for(int i=19; i<29; i++)
    {
        hb[4]->addWidget(character_btns_list.at(i));
    }
    character_btns_list.append(btn_upper);
    //第四排功能鍵
    QPushButton *btn_symbols = new QPushButton(".?123");
    btn_symbols->setFixedSize(keyboard_btn_width*1.5, keyboard_btn_height);
    btn_symbols->setObjectName("function_button");
    hb[5]->addWidget(btn_symbols);
    connect(btn_symbols, &QPushButton::clicked, this, &KeyboardForm::btnSymbolsClicked);
    QPushButton *btn_language = new QPushButton(QChar(0xf0ac));
    btn_language->setFixedSize(keyboard_btn_width, keyboard_btn_height);
    btn_language->setFont(btnicofont);
    btn_language->setObjectName("function_button");
    hb[5]->addWidget(btn_language);
    connect(btn_language, &QPushButton::clicked, this, &KeyboardForm::btnLanguageClicked);
    QPushButton *btn_blankspace = new QPushButton("English");
    btn_blankspace->setFixedHeight(keyboard_btn_height);
    hb[5]->addWidget(btn_blankspace);
    character_btns_list.append(btn_blankspace);
    connect(btn_blankspace, &QPushButton::clicked, this, &KeyboardForm::btnBlankspaceClicked);
    QPushButton *btn_emoji = new QPushButton(QChar(0xf118));
    btn_emoji->setFixedSize(keyboard_btn_width, keyboard_btn_height);
    btn_emoji->setFont(btnicofont);
    btn_emoji->setObjectName("emoji");
    hb[5]->addWidget(btn_emoji);
    connect(btn_emoji, &QPushButton::clicked, this, &KeyboardForm::btnEmojiClicked);
    QPushButton *btn_hidekeyboard = new QPushButton(QString(QChar(0xf11c)).append(QChar(0xf103)));
    btn_hidekeyboard->setFixedSize(keyboard_btn_width*1.5, keyboard_btn_height);
    btn_hidekeyboard->setFont(btnicofont);
    btn_hidekeyboard->setObjectName("function_button");
    hb[5]->addWidget(btn_hidekeyboard);
    connect(btn_hidekeyboard, &QPushButton::clicked, this, &KeyboardForm::hideKeyboard);

    QVBoxLayout *vb_keyboard = new QVBoxLayout(widget_keyboard);
    vb_keyboard->setMargin(0);
    vb_keyboard->setSpacing(0);
    for(int i=2; i<6; i++)
    {
        vb_keyboard->addLayout(hb[i]);
    }

    QVBoxLayout *vb_system = new QVBoxLayout(this);
    vb_system->setMargin(0);
    vb_system->setSpacing(0);
    vb_system->addStretch(1);
    vb_system->addWidget(widget_pinyin);
    vb_system->addWidget(widget_keyboard);
    widget_pinyin->hide();

    updateButtonStateOfChineseCharacters();
}

7、完整源碼下載

修改后的完整源碼下載地址文章來源地址http://www.zghlxwxcb.cn/news/detail-656764.html

到了這里,關(guān)于QT學(xué)習(xí)筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ubuntu 22.04安裝拼音輸入法(qt各版本等全控件支持,非百度搜狗等)

    ubuntu 22.04安裝拼音輸入法(qt各版本等全控件支持,非百度搜狗等)

    百度搜狗拼音輸入法在ubuntu 22.04上時(shí)常出現(xiàn)一些窗口無法輸入中文的情況,為此引入Fcitx5更佳! 在Ubuntu操作系統(tǒng)上,有幾種可供選擇的拼音輸入法。以下是其中一些常用的拼音輸入法: Fcitx:Fcitx 是一個(gè)開源的輸入法框架,在Ubuntu上得到廣泛應(yīng)用。它支持多種輸入法引擎,包

    2024年02月04日
    瀏覽(32)
  • Qt5.15.2 Webassembly源碼裁剪編譯

    第一步:? ?? ?.configure -debug-and-release -opensource -prefix \\\"D:qt-everywhere-srccompFile\\\" -platform win32-g++ -nomake examples 第二步: ?? ?mingw32-make -j4 第三步: ?? ?mingw32-make install ? 編譯core與gui模塊: ?? ?C:Qt5.15.2yuanmaqt-everywhere-src-5.15.2qtbasesrcgui ?? ?C:Qt5.15.2yuanmaqt-everywhere-src

    2024年02月10日
    瀏覽(26)
  • jetson-nano編譯qt5.15.2帶opengl,xcb

    項(xiàng)目需求原因,需要編譯高版本qt到j(luò)etson-nano板子,歷經(jīng)10天來回折騰,終于是成功了。期間歷經(jīng)交叉編譯失敗,然后轉(zhuǎn)直接編譯,然后嘗試各種版本的坑,最后整理的方法異常簡單,只需6小時(shí)左右即可流暢在板子上編譯成功。文章最后有我編譯好的qt-5.15.2版本鏈接。 友情提

    2023年04月09日
    瀏覽(54)
  • QT5.15.2搭建Android編譯環(huán)境及使用模擬器調(diào)試(全)

    QT5.15.2搭建Android編譯環(huán)境及使用模擬器調(diào)試(全)

    地址:下載 我電腦的windows的,所以選windows 由于官方安裝過程非常非常慢,一定要跟著步驟來安裝,不然慢到懷疑人生 1)打開\\\"命令提示符\\\"(開始 - Windows 系統(tǒng) - 命令提示符) 或者 “win+R” -輸入cmd 找到剛才的exe 命令行輸入以下命令(exe位置根據(jù)自己實(shí)際的),然后回車

    2024年02月04日
    瀏覽(25)
  • Linux Qt5.15.2 編譯QWebEngine源碼支持音視頻H264

    Linux Qt5.15.2 編譯QWebEngine源碼支持音視頻H264

    默認(rèn)自帶的QWebEngine 因版權(quán)問題不支持音視頻功能,需要自己編譯源碼以支持。 平臺(tái):Linux(UOS V20 1050) Qt:5.15.2 下載 Qt 5.15.2 對應(yīng)版本源碼,使用鏡像網(wǎng)站或者Qt Maintenance Tool工具下載。 配置 Qt 環(huán)境變量 將以下內(nèi)容追加到bashrc文件后 刷新使其生效 這個(gè)階段可以預(yù)先安裝所

    2024年02月05日
    瀏覽(51)
  • 學(xué)習(xí)Opencv(蝴蝶書/C++)代碼——1.macOS下安裝OpenCV4.8.0和QT5.15(C++)

    學(xué)習(xí)Opencv(蝴蝶書/C++)代碼——1.macOS下安裝OpenCV4.8.0和QT5.15(C++)

    先看看vscode里怎么弄c++,詳見:mac下vscode配置c++環(huán)境 同時(shí)記得把cmake下載好,路徑配置好 直接從官網(wǎng)教程開始(事實(shí)證明不是很全面,還是有很多問題需要額外找解決方案): https://docs.opencv.org/4.x/d0/db2/tutorial_macos_install.html 一般是有兩種安裝方式: 直接安裝對應(yīng)平臺(tái)的預(yù)編

    2024年01月18日
    瀏覽(27)
  • Qt5.15.2安裝

    Qt5.15.2安裝

    ????????比如 5.15.2?是完整的 Qt 版本號(hào),第一個(gè)數(shù)字 5 是大版本號(hào)(major),第二個(gè)數(shù)字 15?是小版本號(hào)(minor),第三個(gè)數(shù)字 2?是補(bǔ)丁號(hào)(patch)。 只要前面兩個(gè)數(shù)字相同,Qt 的特性就是一致的,最后的數(shù)字是對該版本的補(bǔ)丁更新。 ????????Qt 5.15 之后已經(jīng)不提供離線

    2024年02月08日
    瀏覽(24)
  • QT5.15離線安裝

    QT5.15離線安裝

    在線安裝后,將所有的資源打成壓縮包??截愔亮硗庖慌_(tái)電腦,進(jìn)行如下設(shè)置: 1、解壓 2、進(jìn)入路徑:QTToolssdktoolshareqtcreatorQtProject. 3、修改QtCreator.ini,將所有的絕對路徑修改為實(shí)際存放路徑。 4、打開qtcreator文件夾,將里面的六個(gè)xml文件中絕對路徑修改為實(shí)際存放路徑。

    2024年02月13日
    瀏覽(22)
  • ubuntu安裝qt5.15

    ubuntu安裝qt5.15

    官方下載地址 中國科學(xué)技術(shù)大學(xué) 清華大學(xué) 南京大學(xué) 中國互聯(lián)網(wǎng)絡(luò)信息中心 在線安裝包下載:

    2024年02月13日
    瀏覽(25)
  • QT新版本安裝(5.15以上)——Qt 鏡像網(wǎng)站——Qt5.15.2鏡像安裝

    QT新版本安裝(5.15以上)——Qt 鏡像網(wǎng)站——Qt5.15.2鏡像安裝

    由于QT版本升級到6.以上版本,在線安裝可能找會(huì)存在找不到到相關(guān)想要的版本。如5.15的版本。 解決辦法:還采用在線安裝的方法,添加版本的鏡像路徑(URL)的方法進(jìn)行安裝。 在線安裝軟件連接: 鏈接:https://pan.baidu.com/s/1sXqYhfHNNmKCzJf4Xdd0Zg?pwd=o2j2? 提取碼:o2j2 中國科學(xué)技

    2024年04月13日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包