<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904133</guid>
        <pubDate>Tue, 14 May 2024 06:51:20 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904133</link>
        <description><![CDATA[vlad2: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3904125'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2024-05-14T03:03:16+03:00">14.05.24, 00:03</time></span><div class='quote '>См. мою последнюю правку - по идее то, что ты хотел бы видеть.</div></div>Хотел я А + С из предыдущего поста. Если это похоже на твой пример с правкой, то ок, тоже не люблю спорить).<br>
В любом случае - спасибо за помощь.]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904125</guid>
        <pubDate>Tue, 14 May 2024 00:03:16 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904125</link>
        <description><![CDATA[Majestio: Ну ок, спорить нет желания  :lol: См. мою последнюю правку - по идее то, что ты хотел бы видеть.]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904105</guid>
        <pubDate>Mon, 13 May 2024 11:36:29 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904105</link>
        <description><![CDATA[vlad2: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3904094'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2024-05-13T10:39:19+00:00">13.05.24, 10:39</time></span><div class='quote '>А ты пытаешься сделать фокусом и строку, и редактируемую ячейку.</div></div><br>
Вовсе нет). На приведенной выше картинке показано, как <strong class='tag-b'>не</strong> надо. Видимо, плохо объяснил. На приложенной к этому посту картинке показал текущую ситуацию:<br>
<strong class='tag-b'><span class="tag-color tag-color-named" data-value="red" style="color: red">A</span></strong> - допустим, редактирую 5-ю строку (здесь <strong class='tag-b'>SelectItems</strong>);<br>
<strong class='tag-b'><span class="tag-color tag-color-named" data-value="red" style="color: red">B</span></strong> - после клика по 2-й строке, неважно, в какой ячейке, редакция заканчивается и устанавливается  <strong class='tag-b'>SelectRows</strong>. Но мы видим, что, несмотря на это, строка <strong class='tag-b'>не выделена</strong>. Чтобы строка выделилась, нужно <strong class='tag-b'>ещё раз</strong> кликнуть по этой строке;<br>
<strong class='tag-b'><span class="tag-color tag-color-named" data-value="red" style="color: red">C</span></strong> - такую картинку хочу получить <strong class='tag-b'>сразу</strong> после клика по 2-й строке.<br>
]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904094</guid>
        <pubDate>Mon, 13 May 2024 10:39:19 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904094</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3904093'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>vlad2 &#064; <time class="tag-quote__quoted-time" datetime="2024-05-13T09:11:58+00:00">13.05.24, 09:11</time></span><div class='quote '>В твоём примере нет перехода от SelectItems к SelectRows, о чём , собственно и был мой первый вопрос: как сделать, чтобы строка выделялась сразу после того, как в ходе выполнения кода встречается setSelectionBehavior(QAbstractItemView::SelectRows) или что-то надо ещё добавить. Если не менять выделение строки, то редактируемая строка выглядит примерно так, как в твоём примере, только остаётся выделенной, а не серой, как в примере (см. картинку). Видимо, в твоём примере фокус переходит на editor, а у меня - нет.</div></div><br>
Да, когда я делал свой пример, у меня была одна цель - продемонстрировать правильный вход и выход из режима редактирования. Чтобы не было необходимости дополнительного клика на таблице, как ты писал в ранних сообщениях. Однако, хочу заметить, ты хочешь несколько видоизменить функционал интерфейса. Но по стандартам проектирования GUI фокусом может обладать только один элемент&#33; А ты пытаешься сделать фокусом и строку, и редактируемую ячейку. Твой подход в данном случае будет неправильным. Предлагаю не ломать стандартную логику фокусного выделения, а просто перекрасить то, что не устраивает - в моем случае &quot;серое&quot; выделение. Решение этого несложное, добавим немножко кода.<br>
<br>
В файле <strong class='tag-b'>ItemEditDelegate.h</strong> добавим перекрытие метода <span class="tag-font" data-value="Courier" style="font-family:Courier"><span class="tag-color tag-color-named" data-value="blue" style="color: blue">initStyleOption</span></span>, теперь серый цвет будет заменен синим:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#ifndef ITEMEDITDELEGATE_H</div><div class="code_line">#define ITEMEDITDELEGATE_H</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;QStyledItemDelegate&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">class ItemEditDelegate : public QStyledItemDelegate {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Q_OBJECT</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;public:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;explicit ItemEditDelegate(QObject *parent = nullptr);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem&amp; option, const QModelIndex&amp; index) const override;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;void initStyleOption(QStyleOptionViewItem *option, const QModelIndex&amp; index) const override {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;QStyledItemDelegate::initStyleOption(option, index);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (option-&#62;state &amp; QStyle::State_Selected) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;option-&#62;palette.setColor(QPalette::HighlightedText, QColor(Qt::white));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;option-&#62;palette.setColor(QPalette::Highlight, QColor(Qt::blue));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;signals:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;void cellEditingStarted(const QModelIndex&amp; index) const;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;void cellEditingFinished(const QModelIndex&amp; index) const;</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">#endif // ITEMEDITDELEGATE_H</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Одно важное замечание - в моем дополнении &quot;перекраска&quot; проводится строго в синий цвет. Но народ достаточно часто меняет под себя темы оформления своего рабочего стола. И не у всех цвет выделения синий. Поэтому будет более правильно с перекрываемом методе сперва находить цвет фона и текста по системным метрикам. Конечно это платформо-зависимые шляпы, для Windows своё WinAPI, для Линукc/FreeBSD - API X11, для MacOSX - API XQuartz. В общем, если тебя этот вопрос волнует - это тебе домашнее задание :lol:]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904093</guid>
        <pubDate>Mon, 13 May 2024 09:11:58 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904093</link>
        <description><![CDATA[vlad2: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3904041'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2024-05-08T20:24:29+00:00">08.05.24, 20:24</time></span><div class='quote '>Еще бы mainwindow.ui</div></div> Добавил.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3904046'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2024-05-09T12:29:07+00:00">09.05.24, 12:29</time></span><div class='quote '>В общем, не дождался я UI-файла, накидал тебе работающий проект</div></div>Извини, был в отъезде. Спасибо за проект, будет полезен для изучения. В твоём примере нет перехода от  SelectItems к  SelectRows, о чём , собственно и был мой первый вопрос: как сделать, чтобы строка выделялась сразу после того, как в ходе выполнения кода встречается setSelectionBehavior(QAbstractItemView::SelectRows) или что-то надо ещё добавить. Если не менять выделение строки, то редактируемая строка выглядит примерно так, как в твоём примере, только остаётся выделенной, а не серой, как в примере (см. картинку). Видимо, в твоём примере фокус переходит на editor, а у меня - нет.<br>
Что касается данных для таблицы, то в реальных таблицах они разных типов и берутся из двоичных файлов, поэтому в качестве хранения использую контейнеры структур типа QList&lt;...&gt;. Твой пример пригодится для организации редактирования с откатами и подтверждениями. Ну и для понимания структуры программ в Qt.<br>
<span class="b-attach" data-size="6791" data-hits="106" data-attach-id="65863" data-attach-post-id="0">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=0&amp;attach_id=65863' title='Скачать файл' target='_blank'>mainwindow.ui</a> (, : 106)
		</span><br>
<span class="b-attach" data-size="65589" data-hits="244" data-attach-id="65864" data-attach-post-id="0">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=0&amp;attach_id=65864' title='Скачать файл' target='_blank'>tab01.jpg</a> (, : 244)
		</span>]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904046</guid>
        <pubDate>Thu, 09 May 2024 12:29:07 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904046</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3903895'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>vlad2 &#064; <time class="tag-quote__quoted-time" datetime="2024-05-06T08:17:48+00:00">06.05.24, 08:17</time></span><div class='quote '>Majestio, спасибо. Если бы начинал программировать, то, наверное, воспользовался советом. Но мой стаж уже не 10 лет и даже не 20).<br>
<strong class='tag-b'>Сейчас же меня интересует ответ на вопрос, поставленный в первом посте.</strong></div></div><br>
В общем, не дождался я UI-файла, накидал тебе работающий проект. По идее, все как тебе нужно. По твоему коду, невзирая на твой громадный стаж программирования, могу сказать одно - учиться никогда не поздно. Особенно если громадный стаж не касается какого-то нового для тебя инструментария. Если более конкретно - не забывай, что фрэймворк Qt построен по <a class='tag-url' href='https://majestio.info/notes/programming/cpp/qt/about-mvc.html' target='_blank'>принципу MVC</a>. Не нужно загонять данные в представление, представление его должно само извлекать из модели. Представь, что у тебя таблица со стопицот миллионов записей. Во время отображения, скроллинга, перерисовки QTableWidget/QTableView сам запросит нужную порцию данных. А вот как и откуда получит эти данные модель - это уже её зона ответственности. <br>
<br>
В присоединенном примере я это тебе реализовал. Там данные хранятся в переменной типа QVector&lt;QVector&lt;QString&gt;&gt;, при изменении - тудаже и записываются. Кнопочка [Dump] на форме в лог пишет текущее содержимое этой переменной. Ну а по самому интерфейсу все упрощенно:<br>
<ul class="tag-list"><li>Двойной клик на ячейке включает режим ее редактирования</li><li>Если во время редактирования нажать ESC, произойдет выход из режима редактирования и возврат исходного содержимого</li><li>Если во время редактирования нажать Enter или кликнуть на другую ячейку, то произойдет выход из режима редактирования и новые данные сохранятся</li><li>Про кнопку Dump уже писал выше</li></ul>Проект собирал под Qt 5.15.13 и Qt 6.7.0 - везде полёт нормальный. В общем, качай и разбирайся, может чего и пригодится.<br>
<br>
<span class="b-attach" data-size="3005" data-hits="90" data-attach-id="65850" data-attach-post-id="0">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=0&amp;attach_id=65850' title='Скачать файл' target='_blank'>TestEditWidget.src.7z</a> (, : 90)
		</span><br>
<br>
P.S. Небольшое дополнение. Присоединенный пример - конечно не эталон. Там упущена одна важная деталь - разорвана &quot;связь&quot; между хранилищем данных (переменной) и моделью. По фэн-шую хранилище данных нужно обернуть классом, сделать ему геттеры и сеттеры, а также связать сигналами &amp; слотами его с моделью. Тогда при любом изменении данных в хранилище - изменения автоматом улетят в модель, а оттуда уже в представление.]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904041</guid>
        <pubDate>Wed, 08 May 2024 20:24:29 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3904041</link>
        <description><![CDATA[Majestio: Еще бы <span class="tag-color tag-color-named" data-value="blue" style="color: blue"><span class="tag-font" data-value="Courier" style="font-family:Courier">mainwindow.ui</span></span>, без него как-то тоскливо ;)]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903989</guid>
        <pubDate>Tue, 07 May 2024 13:41:29 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903989</link>
        <description><![CDATA[vlad2: Вот рабочий тестовый пример.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">// &nbsp;mainwindow.h</div><div class="code_line">&nbsp;</div><div class="code_line">#ifndef MAINWINDOW_H</div><div class="code_line">#define MAINWINDOW_H</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;QDialog&#62;</div><div class="code_line">#include &#60;QMainWindow&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">namespace Ui {</div><div class="code_line">class MainWindow;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">class MainWindow : public QDialog</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;Q_OBJECT</div><div class="code_line">&nbsp;</div><div class="code_line">public:</div><div class="code_line">&nbsp;&nbsp; &nbsp;explicit MainWindow(QWidget *parent = nullptr);</div><div class="code_line">&nbsp;&nbsp; &nbsp;~MainWindow();</div><div class="code_line">&nbsp;</div><div class="code_line">private slots:</div><div class="code_line">&nbsp;&nbsp; &nbsp;void on_btnEdit_clicked();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;void on_table_currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn);</div><div class="code_line">&nbsp;</div><div class="code_line">private:</div><div class="code_line">&nbsp;&nbsp; &nbsp;Ui::MainWindow *ui;</div><div class="code_line">&nbsp;&nbsp;int Mode;</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">#endif // MAINWINDOW_H</div></ol></div></div></div></div><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">// &nbsp;mainwindow.cpp</div><div class="code_line">&nbsp;</div><div class="code_line">#include &quot;mainwindow.h&quot;</div><div class="code_line">#include &quot;ui_mainwindow.h&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">MainWindow::MainWindow(QWidget *parent) :</div><div class="code_line">&nbsp;&nbsp; &nbsp;QDialog(parent),</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui(new Ui::MainWindow)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;setupUi(this);</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;table-&#62;blockSignals(true);</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;table-&#62;setRowCount(0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;table-&#62;setRowCount(10);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (int k = 0; k &#60; ui-&#62;table-&#62;rowCount(); ++k)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;for (int i = 0; i &#60; ui-&#62;table-&#62;columnCount(); ++i)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setItem(k, i, new QTableWidgetItem(QString::number(((k + i) * (k - i)) / 0.27)));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;table-&#62;blockSignals(false);</div><div class="code_line">&nbsp;&nbsp; &nbsp;Mode = 0;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">MainWindow::~MainWindow()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;delete ui;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">void MainWindow::on_btnEdit_clicked()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;table-&#62;clearSelection();</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;table-&#62;setEditTriggers( QAbstractItemView::AllEditTriggers);</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;table-&#62;editItem(ui-&#62;table-&#62;item(ui-&#62;table-&#62;currentRow(), 1));</div><div class="code_line">// &nbsp; &nbsp;ui-&#62;table-&#62;setSelectionMode(QAbstractItemView::SingleSelection);</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;table-&#62;setSelectionBehavior(QAbstractItemView::SelectItems);</div><div class="code_line">&nbsp;&nbsp; &nbsp;Mode = 1;</div><div class="code_line">}</div><div class="code_line">void MainWindow::on_table_currentCellChanged(int curRow, int curCol, int prevRow, int prevCol)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (Mode &amp;&amp; curRow != prevRow)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;blockSignals(true);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;closePersistentEditor(ui-&#62;table-&#62;item(curRow, curCol));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setEditTriggers( QAbstractItemView::NoEditTriggers );</div><div class="code_line">&nbsp;</div><div class="code_line">// &nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setSelectionMode(QAbstractItemView::MultiSelection);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setSelectionBehavior(QAbstractItemView::SelectRows);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;selectRow(curRow);</div><div class="code_line">&nbsp;</div><div class="code_line">// &nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setRangeSelected( QTableWidgetSelectionRange(ui-&#62;table-&#62;currentRow(), 0, ui-&#62;table-&#62;currentRow(), ui-&#62;table-&#62;columnCount()-1), true);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Mode = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;blockSignals(false);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div>]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903974</guid>
        <pubDate>Tue, 07 May 2024 09:56:10 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903974</link>
        <description><![CDATA[vlad2: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3903973'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2024-05-07T09:41:39+00:00">07.05.24, 09:41</time></span><div class='quote '>Можешь скинуть свой код</div></div>Позже, может, к вечеру.]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903973</guid>
        <pubDate>Tue, 07 May 2024 09:41:39 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903973</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3903946'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>vlad2 &#064; <time class="tag-quote__quoted-time" datetime="2024-05-07T07:16:00+00:00">07.05.24, 07:16</time></span><div class='quote '>Нет. Я и раньше проделывал все эти танцы с бубном, и сейчас попробовал.</div></div><br>
Можешь скинуть свой код, ну или его чаcть, где это работает (вернее - не работает)?]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903946</guid>
        <pubDate>Tue, 07 May 2024 07:16:00 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903946</link>
        <description><![CDATA[vlad2: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3903938'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2024-05-06T16:57:21+00:00">06.05.24, 16:57</time></span><div class='quote '>Что-то изменится? </div></div>Нет. Я и раньше проделывал все эти танцы с бубном, и сейчас попробовал.]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903938</guid>
        <pubDate>Mon, 06 May 2024 16:57:21 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903938</link>
        <description><![CDATA[Majestio: Хорошо, а если добавить в самом конце, в блоке <span class="tag-color tag-color-named" data-value="blue" style="color: blue"><span class="tag-font" data-value="Courier" style="font-family:Courier">if</span></span>:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ui-&#62;table-&#62;setSelectionMode(QAbstractItemView::SingleSelection);</div><div class="code_line">ui-&#62;table-&#62;selectRow(curRow);</div></ol></div></div></div></div><br>
Что-то изменится?]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903936</guid>
        <pubDate>Mon, 06 May 2024 15:54:32 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903936</link>
        <description><![CDATA[vlad2: <strong class='tag-b'>Majestio</strong>, окончание редактирования я делаю сам:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;void MainWindow::on_table_currentCellChanged(int curRow, int curCol, int prevRow, int prevCol)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (curRow != prevRow)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;closePersistentEditor(ui-&#62;table-&#62;item(curRow, curCol));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;clearSelection();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setEditTriggers( QAbstractItemView::NoEditTriggers );</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setSelectionBehavior(QAbstractItemView::SelectRows);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div>И здесь SelectRows восстанавливается, потому что при повторном клике, например, по той же ячейке, где нахожусь, строка сразу же принимает вид выделенной. Такое ощущение, что после setSelectionBehavior(QAbstractItemView::SelectRows) нужно перерисовать строку или таблицу. Но repaint() не помогает.]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903935</guid>
        <pubDate>Mon, 06 May 2024 15:28:15 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903935</link>
        <description><![CDATA[Majestio: Все-таки без какого-то, хотя бы минимального синтетического примера, трудно что-то говорить. Завершение редактирования обычно отлавливают двумя сигналами:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">// Пример использования сигнала itemChanged</div><div class="code_line">connect(tableWidget, &amp;QTableWidget::itemChanged, [=](QTableWidgetItem* item) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Обработка события завершения редактирования ячейки</div><div class="code_line">});</div><div class="code_line">&nbsp;</div><div class="code_line">// Пример использования сигнала cellChanged</div><div class="code_line">connect(tableWidget, &amp;QTableWidget::cellChanged, [=](int row, int column) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Обработка события завершения редактирования ячейки</div><div class="code_line">});</div></ol></div></div></div></div><br>
Но не факт, что тебе это сможет помочь, т.к. ты манипулируешь двумя разными видами выделения. В этом случае, мне почему-то кажется, что нужно &quot;спуститься вниз по иерархии&quot; сигналов. А именно обрабатывать &quot;сырой&quot; клик на таблицу. И в нем уже обрабатывать начало редактирования, завершение редактирования, очередное выделение. Т.е. всё, что автоматом реализовано в <span class="tag-color tag-color-named" data-value="blue" style="color: blue"><span class="tag-font" data-value="Courier" style="font-family:Courier">QTableWidget</span></span> в плане редактирования ячеек - тебе нужно будет переписать под себя руками. А на встроенные механизмы не надеяться.<br>
<br>
Я бы попробовал убедиться в этом следующим образом - код, который вызывается в <span class="tag-font" data-value="Courier" style="font-family:Courier"><span class="tag-color tag-color-named" data-value="blue" style="color: blue">on_table_currentCellChanged</span></span> запускать не напрямую, а через лямбду в QTimer::singleShot, с задержкой, допустим в 3 сек. С выводом в <span class="tag-font" data-value="Courier" style="font-family:Courier"><span class="tag-color tag-color-named" data-value="blue" style="color: blue">qDebug()</span></span>. И обратить внимание, как отработало, что именно происходило, не было ли такого, что код отработал, а потом остальная логика QTableWidget вернула предыдущие настройки выделения.]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903925</guid>
        <pubDate>Mon, 06 May 2024 11:25:59 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903925</link>
        <description><![CDATA[vlad2: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3903911'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2024-05-06T10:56:41+00:00">06.05.24, 10:56</time></span><div class='quote '>Проверь вот такую связку</div></div>Проверял - до того, как написать и сейчас - не работает.<br>
Т.е. мне надо, чтобы при редакции строки выделялась лишь текущая ячейка, а не вся строка, поэтому перед редакцией устанавливаю опцию QAbstractItemView::<span class="tag-color tag-color-named" data-value="blue" style="color: blue">SelectItems</span>. Но как только перехожу на другую строку, возможность редактирования пропадает (это работает) и сразу выделяется строка - устанавливаю опцию QAbstractItemView::<span class="tag-color tag-color-named" data-value="blue" style="color: blue">SelectRows</span> (для этого мне и нужна проверка<span class="tag-color tag-color-named" data-value="blue" style="color: blue"> if (curRow &#33;= prevRow)</span><br>
Получается же, что при переходе на другую строку, остаётся выделенной только ячейка, куда кликнул, а чтобы выделилась строка, нужно дополнительно кликнуть ещё раз - куда угодно. Ну некрасиво).]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903911</guid>
        <pubDate>Mon, 06 May 2024 10:56:41 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903911</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3903895'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>vlad2 &#064; <time class="tag-quote__quoted-time" datetime="2024-05-06T08:17:48+00:00">06.05.24, 08:17</time></span><div class='quote '>Сейчас же меня интересует ответ на вопрос, поставленный в первом посте.</div></div><br>
Без синтетического примера сложно дать на 100% правильный ответ. Проверь вот такую связку в <span class="tag-color tag-color-named" data-value="blue" style="color: blue"><span class="tag-font" data-value="Courier" style="font-family:Courier">on_table_currentCellChanged</span></span>:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ui-&#62;table-&#62;clearSelection();</div><div class="code_line">ui-&#62;table-&#62;selectRow(curRow);</div></ol></div></div></div></div><br>
И еще, я думаю, что проверка <span class="tag-color tag-color-named" data-value="blue" style="color: blue"><span class="tag-font" data-value="Courier" style="font-family:Courier">if (curRow &#33;= prevRow)</span></span> лишняя.  Представь, ты редактируешь ячейку в строке, потом просто кликаешь на соседнюю ячейку этой же строки. По идее должно отработать ровно так же если бы ты кликал на ячейку другой строки?]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903895</guid>
        <pubDate>Mon, 06 May 2024 08:17:48 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903895</link>
        <description><![CDATA[vlad2: <strong class='tag-b'>Majestio</strong>, спасибо. Если бы начинал программировать, то, наверное, воспользовался советом. Но мой стаж уже не 10 лет и даже не 20).<br>
Сейчас же меня интересует ответ на вопрос, поставленный в первом посте.]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903857</guid>
        <pubDate>Sat, 04 May 2024 09:03:50 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903857</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3903835'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>vlad2 &#064; <time class="tag-quote__quoted-time" datetime="2024-05-03T06:47:43+00:00">03.05.24, 06:47</time></span><div class='quote '>Но это упрощает работу</div></div><br>
Оно упрощает работу ... на первый взгляд, когда ты создаешь &quot;тупые и статические&quot; формы. Но, как-только ты решишь разнообразить свой интерфейс - ты получишь кучу гемора от декларативных объявлений. Я тебе не советую &quot;с потолка&quot;, я сам к этому пришел путем проб и ошибок. Программно создавать интерфейс на первый взгляд сложно. Но потом, когда это уже будет твоей практикой, я тебя уверяю - ты программно напишешь интерфейс кодом гораздо быстрее <s class='tag-s'>гвно-</s>кликов в UI-дизайнере. Но у тебя есть варик - &quot;пройди мой путь&quot;, если просто не доверяешь. Как говорят: &quot;нет преграды патриотам&quot;  :lol:]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903841</guid>
        <pubDate>Fri, 03 May 2024 09:11:55 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903841</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3903835'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>vlad2 &#064; <time class="tag-quote__quoted-time" datetime="2024-05-03T06:47:43+00:00">03.05.24, 06:47</time></span><div class='quote '>Т.е. не пользоваться дизайнером? </div></div><br>
Забудь про дизайнер&#33;&#33;&#33; Это - зло. Все контролы и их размещение нужно делать руками, вот это - по фэншую&#33;]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903835</guid>
        <pubDate>Fri, 03 May 2024 06:47:43 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903835</link>
        <description><![CDATA[vlad2: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=445302&view=findpost&p=3903834'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2024-05-03T03:03:13+00:00">03.05.24, 03:03</time></span><div class='quote '>Вместо них пользуй *View.</div></div>Т.е. не пользоваться дизайнером? Но это упрощает работу, тем более, если использовать свой класс на базе QTableWidget.]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903834</guid>
        <pubDate>Fri, 03 May 2024 03:03:13 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903834</link>
        <description><![CDATA[Majestio: Привет, бро&#33;<br>
<br>
Твоим вопросом пока не занимаюсь, но хочу дать тебе парочку советов. Которые как армейский Устав, &quot;писаны кровью&quot; (читай - временем на разборки):<br>
<br>
<ol class="tag-list" type="1"><li>Прямо сейчас забудь про компоненты Qt, которые заканчиваются на *Widget. Вместо них пользуй *View. В твоем случае это QTableView - они более конфигурабельны. Виджеты - они для студентов, домохозяек и homeless людей.</li><li>Если беда с кликами или клавой - она не беда, просто реализуй соответствующие обработчики, и смотри уже в них что и когда происходит</li></ol>]]></description>
        <author>Majestio</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903831</guid>
        <pubDate>Thu, 02 May 2024 15:24:55 +0000</pubDate>
        <title>QTableWidget: как перейти от выделения ячейки к выделению строки?</title>
        <link>https://forum.sources.ru/index.php?showtopic=445302&amp;view=findpost&amp;p=3903831</link>
        <description><![CDATA[vlad2: Есть таблица QTableWidget, в которой изначально поставлено выделение строк: QAbstractItemView::SelectRows. <br>
Есть кнопка по которой, по которой редактирую содержимое ячеек текущей строки, устанавливая  QAbstractItemView::SelectItems.<br>
После редакции перехожу на другую строку таблицы и хочу чтобы при этом выделение сразу вернулось к SelectRows. Но сразу этого не получается, нужно дополнительно кликнуть по таблице ещё раз.<br>
Как сделать, чтобы сразу?<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void MainWindow::on_btnEdit_clicked()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;tabW-&#62;clearSelection();</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;table-&#62;editItem(ui-&#62;table-&#62;item(ui-&#62;table-&#62;currentRow(), 1));</div><div class="code_line">// &nbsp; &nbsp;ui-&#62;table-&#62;setSelectionMode(QAbstractItemView::SingleSelection); &nbsp; // ничего не даёт</div><div class="code_line">&nbsp;&nbsp; &nbsp;ui-&#62;table-&#62;setSelectionBehavior(QAbstractItemView::SelectItems);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">... </div><div class="code_line">&nbsp;</div><div class="code_line">void MainWindow::on_table_currentCellChanged(int curRow, int curCol, int prevRow, int prevCol)</div><div class="code_line">{</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (curRow != prevRow)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">// &nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;clearSelection();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setEditTriggers( QAbstractItemView::NoEditTriggers );</div><div class="code_line">// &nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setSelectionMode(QAbstractItemView::MultiSelection);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setSelectionBehavior(QAbstractItemView::SelectRows);</div><div class="code_line">// &nbsp; &nbsp; &nbsp; &nbsp;ui-&#62;table-&#62;setRangeSelected(QTableWidgetSelectionRange(curRow, 0, curRow, ui-&#62;table-&#62;columnCount()-1), true); &nbsp;// ничего не даёт</div><div class="code_line">}</div></ol></div></div></div></div>]]></description>
        <author>vlad2</author>
        <category>Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets</category>
      </item>
	
      </channel>
      </rss>
	