Добавьте последовательные выпадающие меню с n-1 выбором после выбора - PullRequest
0 голосов
/ 29 января 2019

У меня есть простое выпадающее меню в моем окне с вкладками, используя QComboBox.

def tab1UI(self):
  layout = QFormLayout()
  self.cb = QComboBox()
  self.cb.addItems(["Option1", "Option2", "Option3", "Option4", "Option5", "Option6"])
  layout.addWidget(self.cb)
  self.setTabText(0,"Search")
  self.tab1.setLayout(layout)

То, что я хочу сделать, это добавить другое меню всякий раз, когда выбран вариант.

Скажем, пользователь выбирает Option3.Как только они это сделают, я хочу добавить меню, в котором больше нет выбора option3 и вместо него есть опция No Selection.Последовательные меню будут добавляться, пока пользователь не выберет No Selection.Как бы я это сделал?

1 Ответ

0 голосов
/ 29 января 2019

Вы можете заменить все переменными, чтобы сделать их намного проще для манипулирования.Вот пример.Я не знаком с модулем, который вы используете (по-видимому, это QComboBox), поэтому мой код может содержать несколько ошибок. Начальный код:

def tab1UI(self):
  layout = QFormLayout()
  self.cb = QComboBox()
  items=["Option1", "Option2", "Option3", "Option4", "Option5", "Option6"]
  self.cb.addItems(items)
  layout.addWidget(self.cb)
  self.setTabText(0,"Search")
  self.tab1.setLayout(layout)
  #Here you would put a way to record which option the user selects, lets say "selected"
  selected=#Option user selects
  items=items.replace(selected, "No Selection") #This replaces the selected option with "No Selection"
  #Here you would insert the new menu, I think it is this way:
  layout = QFormLayout()
  self.cb = QComboBox()
  self.cb.addItems(items)
  layout.addWidget(self.cb)
  self.setTabText(0,"Search")
  self.tab1.setLayout(layout)

...