Возможно, я работал в углу, но это звучало для меня как хорошая идея в то время.QT Creator: Запуск слота с кодом?
Я разрабатываю интерфейс, который позволяет пользователю изменять настройки роботизированного устройства, то есть скорость, направления, силу и т. Д. С очень большой серией опций в виде ComboBoxes. Проблема в том, что в подкатегориях содержится около тысячи таких вещей. например Категория скорости x1, x2, x3, Y1, y2 и т. Д. Поэтому вместо того, чтобы создавать тысячу списков в QT, я подумал, что хорошей идеей было создать один набор из 50 (иш), а затем предоставить несколько кнопок для переключения между категориями. Поэтому, когда пользователь выбирает скорость QT, заполняет списки со списком с соответствующими параметрами, устанавливает таблицы стилей и текст для меток и т. Д. Таким образом, кажется, что выделенная страница существует. Затем, если пользователь выбирает Direction, QT Записывает текущий индекс каждого окна в выделенный массив, а затем повторно заполняет поля, метки и т. Д. Соответствующим содержимым. Затем я делаю это снова и снова для различных потребностей системы.
Все это работает нормально. Тем не менее, я теперь привязан, где расширены опции для навигации по каждой странице. Например, у меня есть кнопки вперед/назад (например, вы ожидаете от мастера настройки), а также меню действий вверху, чтобы перейти на страницу. Итак, теперь код становится очень повторяющимся. Если вы выберете следующую кнопку, я напишу текущие значения в массив, а затем повторно запомню. Если вы переходите на страницу из любого места, я смотрю, где я, записываю ее в массив и заполняю поля. Поэтому, если мне нужно что-то изменить, я должен внести изменения в множество мест в коде.
Я знаю, что это не оптимально. То, что я хотел бы сделать, это запустить непрерывный цикл, как обычно, с Micros в C. Таким образом, программа может смотреть на переменную в каждом проходе, и если это так, то это происходит. Я не настолько квалифицирован, чтобы понять этот цикл в QT. Итак, моя новая мысль была ...
Можно ли вызвать действие или слот с переменной. Например, если пользователь нажимает кнопку «Далее», он вызывает слот для кнопки, которая не существует, так что QT будет выполнять определенную строку кода? Тогда у меня может быть 1 выделенный раздел, посвященный чтению и написанию ящиков, с кучей действий, которые приведут меня туда.
Непонятно, почему кнопка FWD/BCK должна использовать другой код для комбо, чем прямой nav. В обоих случаях это «сохранить текущий экран, заполнить новый экран» ...? – Ilya
:) Я ценю ваши отзывы. Вы, вероятно, правы, я всего лишь наивный мех. Инженер пытается понять это.Однако я рассмотрю это. Спасибо – Mike