QLineEdit Подклассы

0

У меня есть QlineEdit. Поскольку мне нужна определенная операция над mousePress Event.
Теперь, как только я нажимаю кнопку мыши на подклассе QlineEdit (я называю это CustomLineEdit). Я пытаюсь открыть виртуальную клавиатуру. Появится новая панель Window, но виртуальная клавиатура не появляется. Я проверил правильность виртуальной клавиатуры, используя ее на других классах.

Это мой код:

void CustomLineEdit::mousePressEvent(QMouseEvent *s)
{
    qDebug() << " Custom Line EDit is kicking";
    myKeyBoard->show(this); // once created keyboard object, use this method to switch between windows
    myKeyBoard->move(0, 0 + myKeyBoard->height() + 175); // to move keyboard
}

Btw, виртуальная клавиатура была загружена по этой ссылке.

Любые предложения будут высоко оценены.

Теги:
qt

1 ответ

0
myKeyBoard->show(this);

Для этого метода show родитель должен рисовать в этот виджет. Если виджет находится в другом, он не может рисовать из рабочей области родителя. Возможно, если вы измените линию таким образом, виртуальная клавиатура покажет:

myKeyBoard->show( parent( ) );
  • 0
    Что вы имеете в виду? Вы можете просто показать любой виджет в main.cpp, без каких-либо родителей.
  • 0
    Вы можете отобразить любой виджет в main.cpp без родителя ... если вы заставите de painting ... или вы можете установить родительский режим, чтобы разрешить автоматическое рисование
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню