Спокойный разделитель отключает

Почему необходимо проверить? Просто насильственно очистите флаг только для чтения и удалите файл.

7
задан Thomi 20 October 2009 в 13:33
поделиться

2 ответа

На самом деле, я никогда не видел, чтобы кто-нибудь когда-либо отключал сплиттер: они есть, чтобы пользователь мог разметить пользовательский интерфейс по своему усмотрению. , так зачем кому-то это отключать? Либо вам нужен разделитель, либо вы можете использовать один из обычных макетов (размер которого пользователь не может изменить).

Если вы все же хотите попробовать, я думаю, вам следует взглянуть на closestLegalPosition () или getRange () . Если вы просто вернете ширину виджета, изменение размера не должно работать.

0
ответ дан 6 December 2019 в 15:23
поделиться

Вам нужно сделать две вещи. Установить виджеты (которые не должны изменять размер) внутри сплиттера на FixedSize и изменить курсор соответствующих ручек сплиттера на Qt::ArrowCursor. Ручки начинаются с нуля (левые и неиспользуемые), поэтому первая ручка между двумя виджетами будет иметь индекс 1.

Вот пример (поместите код в main.cpp):

#include <QtGui>

 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
     QWidget window;
     window.resize(800, 300);
     window.setWindowTitle("Splitter Test");
     window.show();

     QSplitter *splitter = new QSplitter(&window);
     QListView *listview = new QListView;
     QTreeView *treeview = new QTreeView;
     QTextEdit *textedit = new QTextEdit;

     splitter->addWidget(listview);
     splitter->addWidget(treeview);
     splitter->addWidget(textedit);
     splitter->setChildrenCollapsible(false);

     splitter->show();
     listview->show();
     treeview->show();
     textedit->show();

     //make the lisview 'fix'
     listview->setFixedSize(listview->width(), listview->height());
     //change the cursor over the splitter handle between listview and
     //treeview to ArrowCursor
     splitter->handle(1)->setCursor(Qt::ArrowCursor);;

     return app.exec();
 }

Теперь первый хэндл сплиттера disabled, а второй работает.

0
ответ дан 6 December 2019 в 15:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: