0
型QLineEdit的我想告訴osk.exe(onscreenkeyboard)當點擊該QLineEdit的當焦點移出osk.exe 隱藏或最小? 我該怎麼辦?顯示onscreenkeyboard當Qt的
感謝
型QLineEdit的我想告訴osk.exe(onscreenkeyboard)當點擊該QLineEdit的當焦點移出osk.exe 隱藏或最小? 我該怎麼辦?顯示onscreenkeyboard當Qt的
感謝
你需要使用一個QProcess
,並重新實現方法QLineEdit::focusInEvent
和QLineEdit::focusOutEvent
。嘗試實現一個類從QLineEdit
繼承這樣的:
#include <QLineEdit>
#include <QProcess>
class MyLineEdit: public QLineEdit
{
public:
MyLineEdit(QWidget * parent = 0): QLineEdit(parent)
{
process_ = new QProcess();
}
protected:
void focusInEvent(QFocusEvent * e)
{
QLineEdit::focusInEvent(e);
process_->start("start C:\\osk.exe");
}
void focusOutEvent(QFocusEvent * e)
{
QLineEdit::focusOutEvent(e);
process_->kill();
}
private:
QProcess * process_;
}
(當然這個osk.exe的確切地址替換C:\\osk.exe
)。
然後只需使用MyLineEdit
而不是QLineEdit
,它應該工作。我不知道如何隱藏或最小化這個過程,所以我決定殺了它,並在必要時重新啓動它;-)