QTextTable, Изменение рамки ячейки |
Здравствуйте, гость ( Вход | Регистрация )
QTextTable, Изменение рамки ячейки |
Гость_Гость_Wlad_*_* |
12.11.2009, 8:21
Сообщение
#1
|
Гости |
В Qt 4.3 рамка таблицы отображалась тонкими чеными линиями. Тогда я просто смотрел возможности Qt. Сейчас решил использовать QTextTable, но оказалось, что в Qt 4.5.3 рамка отображается двойной серой линией. Все попытки отобразить границы ячейки таблицы с помощью ОДНОЙ черной не увенчались успехом. После всех эспериментов у меня возникли 2 вопроса:
1. Можно ли отображать границы ячейки одинарной линией ? 2. Можно ли границы одной ячейки отображать линиями разной толщины (как в Wordе) ? Может кто разбирался с QTextTable ? |
|
|
molchanoviv |
12.11.2009, 8:53
Сообщение
#2
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
никогда не работал с текстовыми таблицами в Qt, но может QTextTableFormat
Сообщение отредактировал molchanoviv - 12.11.2009, 8:59 |
|
|
Гость_Гость_* |
12.11.2009, 9:10
Сообщение
#3
|
Гости |
никогда не работал с текстовыми таблицами в Qt, но может QTextTableFormat С помощью QTextTbleFormat изменяеются границы ВСЕЙ таблицы сразу. Но даже для всей таблици, сделать так, чтобы граници отображались ОДНОЙ линией мне не удалось ! Я вроде бы перепробовал все варианты. Может чего не понимаю ? |
|
|
frg10 |
12.11.2009, 13:04
Сообщение
#4
|
Студент Группа: Участник Сообщений: 47 Регистрация: 8.11.2009 Из: Ростов-на-Дону Пользователь №: 1213 Спасибо сказали: 5 раз(а) Репутация: 2 |
|
|
|
Гость_Гость_* |
12.11.2009, 13:58
Сообщение
#5
|
Гости |
Может использовать CSS? Там для границ таблицы есть аттрибуты: Цитата border-color <color> Цвет границ для текстовых таблиц. border-style none | dotted | dashed | dot-dash | dot-dot-dash | solid | double | groove | ridge | inset | outset Стиль границ для текстовых таблиц. Раз Два Три Это можно и без CSS :
НО : Бордюр ячейки состоит из двух рамок: внешней и внутренний (запустите демо программу из папки: ...\Qt_4_5\demos\textedit\release и увидите как выглидит таблица) Внутренняя рамка всегда остается. Спасибо. |
|
|
Stanislaus |
12.11.2009, 15:02
Сообщение
#6
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 23.4.2008 Пользователь №: 156 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я делал одну сплошную таким хаком.
Только вот не могу никак справиться с артефактом, когда соседнии бордеры ячеек начинают отсоединяться друг от друга. Кто-нить встречал такое? |
|
|
Гость_Гость_* |
12.11.2009, 18:37
Сообщение
#7
|
Гости |
Я делал одну сплошную таким хаком.
Только вот не могу никак справиться с артефактом, когда соседнии бордеры ячеек начинают отсоединяться друг от друга. Кто-нить встречал такое? Спасибо за подскаку! У меня никаких артефактов нет. Делал так: QTextTableFormat tableFormat; QBrush brush = tableFormat.borderBrush(); brush.setColor(QColor(Qt::black)); tableFormat.setBorderBrush(brush); tableFormat.setCellPadding(0); tableFormat.setCellSpacing(0); QVector<QTextLength> constraints; constraints << QTextLength(QTextLength::FixedLength, /* здесь ширина столбца */ lh); ..................................................... // столько раз, сколько надо столбцов ...................................................... tableFormat.setColumnWidthConstraints(constraints); QTextCursor cursor(textEdit->textCursor()); table = cursor.insertTable(rows, columns, tableFormat); У меня сейчас Qt 4.6 beta 1 |
|
|
Гость_Alexander_* |
23.12.2010, 19:53
Сообщение
#8
|
Гости |
Я делал одну сплошную таким хаком.
Только вот не могу никак справиться с артефактом, когда соседнии бордеры ячеек начинают отсоединяться друг от друга. Кто-нить встречал такое? Спасибо за подскаку! У меня никаких артефактов нет. Делал так: QTextTableFormat tableFormat; QBrush brush = tableFormat.borderBrush(); brush.setColor(QColor(Qt::black)); tableFormat.setBorderBrush(brush); tableFormat.setCellPadding(0); tableFormat.setCellSpacing(0); QVector<QTextLength> constraints; constraints << QTextLength(QTextLength::FixedLength, /* здесь ширина столбца */ lh); ..................................................... // столько раз, сколько надо столбцов ...................................................... tableFormat.setColumnWidthConstraints(constraints); QTextCursor cursor(textEdit->textCursor()); table = cursor.insertTable(rows, columns, tableFormat); У меня сейчас Qt 4.6 beta 1 Могу добавить, что если надо получить ВСЕ-ТАКИ ОДИНАРНУЮ линию, то можно вместо tableFormat.setCellSpacing(0); использовать tableFormat.setCellSpacing(-1); ( в данный момент использую Qt 4.6.3 ) П.С. Спасибо всем за пояснения! |
|
|
Текстовая версия | Сейчас: 22.12.2024, 7:57 |