Օգտագործողի միջերեսի պատուհանի ձևի տարրերի շարքում առանձնահատուկ նշանակություն ունեն ընտրության կամ տվյալների մուտքագրման դաշտերը: Սահմանված արժեքների մշակումը պետք է հաճախ իրականացվի ակնթարթային: Հետեւաբար, մշակողը պետք է տեղեկատվություն ստանա պատուհանների ցանկացած փոփոխության վերաբերյալ: Տարբեր իրավիճակներում, դաշտի արժեքը կարդալիս, անհրաժեշտ է հաշվի առնել ձևի տարրի հատուկ տվյալների տեսակը և շրջանակը:
Հրահանգներ
Քայլ 1
Qt ծրագրավորման գրադարանով ծրագրեր մշակելիս պատուհանի ձևերը սովորաբար ստեղծվում են վիդջեթներից (QWidget դաս) կամ երկխոսություններից (QDialog): Ընտրության կամ տվյալների մուտքագրման տարրերը ավելացվում են նշված դասերի օբյեկտներին և տեսողականորեն տեղակայված են ստանդարտ կամ երկխոսության տուփի վրա:
Քայլ 2
Օգտագործեք QComboBox դասը `բացվող ցուցակի հետ աշխատելու համար: Դրա տեսանելի աշխատանքային դաշտը կարող է ակտիվ լինել տվյալների մուտքագրման համար կամ կողպված է: Եթե օգտվողը ի վիճակի է դաշտում ինչ-որ արժեք մուտքագրել, ապա այն կարող եք ստանալ `հղում անելով ցուցակի օբյեկտի վրա: Օրինակ կոդ ՝ QComboBox m_comb; QString արդյունք; արդյունք = m_comb.currentText (); Այստեղ m_comb օբյեկտը, որն օգտագործում է currentText () մեթոդը, վերադարձնում է վերին դաշտի ընթացիկ արժեքը, և այն կարող է մուտքագրվել կամ ընտրվել բացվողում: ցուցակ Լարային փոփոխական արդյունքը պարունակում է արժեքը կոմբոբոքսի տեսանելի աշխատանքային դաշտից:
Քայլ 3
Այնուամենայնիվ, մուտքագրված տվյալների տեսակը կարող է նաև թվային լինել: Լարի արժեքները պահանջվող տիպի վերափոխելու համար կատարիր հետևյալ գործողություններից որևէ մեկը. Կրկնակի resD = result.toDouble (); float resF = result.toFloat (); int resI = result.toInt (); Այստեղ արդյունքում ստացված դաշտային արժեքը կպահպանվի resD փոփոխականում, բայց արդեն կրկնակի, resF- ում `float արժեք, իսկ resI- ում` int ամբողջ թիվ:
Քայլ 4
QLineEdit մեկ տողի տեքստի խմբագրիչը որպես տվյալների մուտքագրման տարր օգտագործելիս վերցրեք ձեզ անհրաժեշտ տեղեկատվությունը հետևյալ գրառումով. Արդյունք = m_edit.text (): Այստեղ m_edit օբյեկտը, օգտագործելով տեքստ () գործառույթը, վերադարձնում է օգտագործողի կողմից մուտքագրված տողի արժեքը դաշտ:
Քայլ 5
QListBox տարրը կարող է իրականացնել նմանատիպ գործառույթ պատուհանի տեսքով, այս օբյեկտի մուտքագրված տվյալների մուտքը նույնպես նման է նախկինում նշվածին ՝ m_list.currentText ():
Քայլ 6
Նկարագրված դասերի բոլոր ատյաններին մուտք գործելիս դուք պետք է ունենաք մուտքի համապատասխան իրավունքներ, քանի որ մասնավոր մեթոդներ և օբյեկտներ զանգահարելը անհնար է երրորդ կողմի գործառույթներից: Դաշտի արժեքը ստանալու համար դիտարկվող մեթոդներն ունեն բաց կարգավիճակ: