Не выделяется текст мышью в QTextEdit, Свой класс унаследован от QTextEdit |
Здравствуйте, гость ( Вход | Регистрация )
Не выделяется текст мышью в QTextEdit, Свой класс унаследован от QTextEdit |
QMainWindow |
5.8.2011, 14:31
Сообщение
#1
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
Привет всем!
Появился непонятный глюк с QTextEdit. В общем создал свой класс, который наследует только QTextEdit. В классе пока (теперь) ничего нет. Создаю объект в главном окне (на центральном виджете). Устанавливаю геометрию сего виджета и все. Запускаю, все нормально отображается. Далее ввожу текст в мое поле, пытаюсь выделить посимвольно, но ничего не получается. Удается выделить только либо все слово целиком, либо всю строку (или параграф). Т.е. отдельные буквы в слове мышью не получается выделить (когда мышью пытаюсь выделить, даже синей подсветки выделения НЕТ!). Думал какие глюки, для проверки создал непосредственно объект QTextEdit - но там все как и должно быть. Что за бред? Сообщение отредактировал QMainWindow - 5.8.2011, 14:32 |
|
|
PAFOS |
5.8.2011, 14:37
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Все работает как надо |
|
|
QMainWindow |
5.8.2011, 15:06
Сообщение
#3
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
Класс:
Раскрывающийся текст
Раскрывающийся текст
MainWindow: Раскрывающийся текст
Раскрывающийся текст
Что не так? |
|
|
PAFOS |
5.8.2011, 15:12
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Цитата void TextEdit::mouseMoveEvent(QMouseEvent *e) { // if(mw->windowState() == Qt::WindowFullScreen) // { // if(!e->y()) emit showMenu(); // else emit hideMenu(); // } } у тебя mouseMoveEvent перекрывается производным классом и до QTextEdit не доходит вообще. В этом и кроется беда. Решение: Цитата void TextEdit::mouseMoveEvent(QMouseEvent *e) { QTextEdit::mouseMoveEvent(e); // if(mw->windowState() == Qt::WindowFullScreen) // { // if(!e->y()) emit showMenu(); // else emit hideMenu(); // } } или Цитата void TextEdit::mouseMoveEvent(QMouseEvent *e) { // if(mw->windowState() == Qt::WindowFullScreen) // { // if(!e->y()) emit showMenu(); // else emit hideMenu(); // } QTextEdit::mouseMoveEvent(e); } Выбирай сам |
|
|
QMainWindow |
5.8.2011, 15:22
Сообщение
#5
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
Гениально!
Вот уж не подумал бы, что тут надо аргумент специально передавать... |
|
|
Текстовая версия | Сейчас: 22.12.2024, 11:02 |