我正試圖構建一個需要從用戶處獲取各種輸入的應用程序。輸入選項根據所選的先前輸入而有所不同。 事情是這樣的:Qt如何根據另一個組合框中的選定選項設置組合框的值
因此,如果用戶選擇號碼選擇正確的組合框應該顯示數值。
類似地,如果字母被選擇它應該顯示A,B,C等。
所以我需要列表是動態的所有下拉列表。我該怎麼做呢?
我正在使用Qt Creator以上。下面是的.ui文件的第一個組合框代碼:
widget class="QGroupBox" name="gbType">
<property name="geometry">
<rect>
<x>60</x>
<y>100</y>
<width>281</width>
<height>81</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">border: 1px solid gray;</string>
</property>
<property name="title">
<string extracomment="Type"/>
</property>
<widget class="QComboBox" name="cbType">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>241</width>
<height>27</height>
</rect>
</property>
<property name="editable">
<bool>true</bool>
</property>
<item>
<property name="text">
<string>Number</string>
</property>
</item>
<item>
<property name="text">
<string>Alphabet</string>
</property>
</item>
</widget>
</widget>
對於第二個組合框:
<widget class="QGroupBox" name="gbCommand">
<property name="geometry">
<rect>
<x>450</x>
<y>100</y>
<width>281</width>
<height>81</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">border: 1px solid gray;</string>
</property>
<property name="title">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="flat">
<bool>true</bool>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<widget class="QComboBox" name="cbCommand">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>241</width>
<height>27</height>
</rect>
</property>
<property name="editable">
<bool>true</bool>
</property>
<property name="currentText">
<string/>
</property>
<item>
<property name="text">
<string>1</string>
</property>
</item>
<item>
<property name="text">
<string>2</string>
</property>
</item>
<item>
<property name="text">
<string>3</string>
</property>
</item>
</widget>
</widget>
PS:這只是一個樣本設計所以我使用的是數字,字母作爲例。請不要暗示用戶界面的變化,以適應這個要求,因爲這將超出我所做的範圍。
編輯:根據以前的輸入需要填充多個下拉列表;不只是兩個。
第二種方法是否會在2個以上的下拉菜單中工作,即第三個下拉菜單需要使用前兩個選擇的值填充? –
我不明白爲什麼不。只需將第三個鉤住第二個信號,檢查兩者的值,然後選擇第三個的值。 –
另外,你可以詳細說明如何實現第一個解決方案嗎?我對Qt非常陌生,不熟悉插槽的概念。你的意思是使用Qt Creator底部的「信號和插槽編輯器」? –