qml使用QQuickWidget無法輸入中文問題解決

前段時間遇到QQuickWidget嵌入的qml中,文本輸入框無法輸入中文的問題。在同事的幫助下,解決此問題。方案如下:

1、QQuickWidget中創建 焦點變化 信號槽連接:

connect(quickWindow(), &QQuickWindow::activeFocusItemChanged, this, &MainQuickWidget::onActiveFocusItemChanged);

2、處理信號槽函數:

QQuickItem *pFocusItem = quickWindow()->activeFocusItem();
		if (pFocusItem && pFocusItem->inherits("QQuickTextInput"))
		{
			disconnect(quickWindow(), &QQuickWindow::activeFocusItemChanged, this, &MainQuickWidget::onActiveFocusItemChanged);
			clearFocus();
			pFocusItem->forceActiveFocus();
		}

這樣處理之後,文本框便可以正常輸入中文了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章