Russian Qt Forum
Июнь 03, 2024, 19:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: table ячейки строки в виде одной ячейки  (Прочитано 12786 раз)
stima
Гость
« Ответ #15 : Январь 13, 2012, 13:18 »

Это не безопасный код. Вы возвращаете 0, но потом можете забыть куда и зачем его возвращаете (да и механика скрыта, может сам Qt гдето обратиться к 0 а Вы будете гадать где же это сегфолт), а во вторых Вам же всетаки нужно редактировать колонки, просто откинуть дабл клик мышкой, а это лиш через mouseDoubleClickevent.

Код:
    virtual QWidget * createEditor ( QWidget *, const QStyleOptionViewItem &,
                                     const QModelIndex &) const
    {
        return 0;
    }


п.с. Напииште последовательно на бумажке, что Вам надо и последовательность действий пользователя)), будет легче понять, что переорпеделять и что добавлять/урезать.
« Последнее редактирование: Январь 13, 2012, 13:19 от stima » Записан
Bepec
Гость
« Ответ #16 : Январь 13, 2012, 13:22 »

Горячими клавишами, мышкой, кнопками... Оо... Вы хоть понимаете, что сейчас говорите кашу -
Цитировать
мне нужен велосипед без колёс, что летает над землёй, чтоб броня бы как у танка, ещё плавник как у акулы, и мех рыжий как у лисы, и чтоб ещё когда рядом человек, оно должно играть симфонию баха на скрипках, причём выполненных из натуральных пород деревьев.

Определитесь что вам надо. Напишите на листочке/блокноте. Отчеркните, что ненадо. Подумайте, мб вы что-то забыли? Добавьте. А после раздумий пришлите сюда всё, что получилось.

1 рецепт на всё вам никто не даст. А вот по частям разобьете и объясните - поможем.
« Последнее редактирование: Январь 13, 2012, 13:25 от Bepec » Записан
semantic
Гость
« Ответ #17 : Январь 13, 2012, 13:26 »

Горячих клавиш, мышкой, кнопки Оо... Вы хоть понимаете, что сейчас говорите кашу -
Цитировать
мне нужен велосипед без колёс, что летает над землёй, чтоб броня бы как у танка, ещё плавник как у акулы и мех рыжий как у лиса и чтоб ещё когда рядом человек, оно бы ещё и играло симфонию баха на скрипках, причём выполненных из натуральных пород деревьев.

Определитесь что вам надо. Напишите на листочке/блокноте. Отчеркните что ненадо. Подумайте, мб вы что-то забыли? Добавьте. А после раздумий пришлите сюда всё, что получилось.
почему каша редактировать ячейку нужно тока этими способами:
1. кнопкой на форме.
2. сочетанием определенных клавиш
и что тут странного вы увидели? нормальный подход. или вы считаете, что в word нажать на copy или сочетание ctrl+c это изврат. я не согласен
Записан
semantic
Гость
« Ответ #18 : Январь 13, 2012, 13:29 »

п.с. Напииште последовательно на бумажке, что Вам надо и последовательность действий пользователя)), будет легче понять, что переорпеделять и что добавлять/урезать.

я и пишу, что описанными двумя способами(см. выше) разрешить редактирование, а по двойному щелчку запретить.  Вроде все логично и понятно пишу, откуда стока вопросов=)
Записан
Bepec
Гость
« Ответ #19 : Январь 13, 2012, 13:30 »

В таблице, выбрав нужную ячейку, нажимать сочетание клавиш чтобы отредактировать её? Бред.

Возьмите Word/Excel/Explorer/Total Commander/Windows. Простейшие функции - простые кнопки. Сочетания идут, когда уже стандартные нельзя использовать. Чем вас двойной щелчок и Enter не устраивает?

Насчёт кнопки вопросов нет. Кнопкой на форме обычно и дублируют, чтоб ясно было - тут можно редактировать Подмигивающий
Записан
stima
Гость
« Ответ #20 : Январь 13, 2012, 13:35 »

Исходя из ваших слов вам просто нужно:

Код:
void mouseDoubleClick(QMouseEvent *e) {
    e->ignore();
}
Записан
semantic
Гость
« Ответ #21 : Январь 13, 2012, 13:37 »

В таблице, выбрав нужную ячейку, нажимать сочетание клавиш чтобы отредактировать её? Бред.
Возьмите Word/Excel/Explorer/Total Commander/Windows. Простейшие функции - простые кнопки. Сочетания идут, когда уже стандартные нельзя использовать.
ну да тока в TC F2 и кнопка переименования, у меня аналагично.
Цитировать
Чем вас двойной щелчок и Enter не устраивает?
Насчёт кнопки вопросов нет. Кнопкой на форме обычно и дублируют, чтоб ясно было - тут можно редактировать Подмигивающий
а то, что, по двойному клику будут другие действия.
« Последнее редактирование: Январь 13, 2012, 13:38 от semantic » Записан
semantic
Гость
« Ответ #22 : Январь 13, 2012, 13:42 »

Исходя из ваших слов вам просто нужно:

Код:
void mouseDoubleClick(QMouseEvent *e) {
    e->ignore();
}
это у tablewidget?
Записан
_OLEGator_
Гость
« Ответ #23 : Январь 13, 2012, 13:48 »

Код
C++ (Qt)
void QAbstractItemView::setEditTriggers ( EditTriggers triggers )

с нужными флагами:

Код
C++ (Qt)
QAbstractItemView::NoEditTriggers
QAbstractItemView::EditKeyPressed

Открыть редактирование по надобности

Код
C++ (Qt)
void QAbstractItemView::edit ( const QModelIndex & index )

Оно?
Записан
Bepec
Гость
« Ответ #24 : Январь 13, 2012, 14:06 »

Цитировать
Вызов редактора делегата производится по
Код:
Код:
EditTriggers
[/color][/size]
 - там уже можно определить реагировать на чтото, или игнорить.

Уже писал, но видно пропустил ТС.

Почитайте про него в ассистенте, OLEGator любезно предоставил пример.

Записан
semantic
Гость
« Ответ #25 : Январь 16, 2012, 08:32 »

Все спаси получилось
 
Код:
   
    ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
.........................................
void MainWindow::editTableCell(){
    QModelIndex index = ui->tableWidget->model()->index(ui->tableWidget->currentRow(),0,QModelIndex());
    ui->tableWidget->edit(index);
}
так сделал=)
один остался вопрос при выделении строки, нужно убрать сетку, т.е. чтоб не было разделителей, как?
Записан
alexman
Гость
« Ответ #26 : Январь 16, 2012, 09:24 »

5-ый пост глянь.
Записан
Bepec
Гость
« Ответ #27 : Январь 16, 2012, 09:37 »

Ты сначала читай, потом пробуй. А потом делаешь скрин и показываешь, как у тебя получилось, и как тебе хочется, ок?
Записан
semantic
Гость
« Ответ #28 : Январь 16, 2012, 12:51 »

объединение работает, НО тогда исчезают записи объедененных ячеек, а это мне не надо
« Последнее редактирование: Январь 16, 2012, 13:30 от semantic » Записан
Bepec
Гость
« Ответ #29 : Январь 16, 2012, 13:55 »

Нарисуй что ты хочешь и что у тебя получается сейчас (т.е. красной жирной линией обведи то, что хочешь убрать). Тогда мы возможно поймём тебя.
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.095 секунд. Запросов: 17.