c++ - Why the layout managers in QT doesn't work? -


  यह-> सेट विन्डोटिटल (tr ("数据 转移 程序")); Edt_ftp_server = नया QLineEdit; Edt_ftp_port = नया QLineEdit; Edt_ftp_account = नया QLineEdit; Edt_ftp_pwd = नया QLineEdit; Edt_ftp_pwd- & gt; सेटइकोमोडा (QLineEdit :: पासवर्ड); Lbl_ftp_server = नया QLabel; lbl_ftp_server- & gt; setText (टीआर ( "एफ़टीपी 服务器 地址:")); Lbl_ftp_server- & gt; सेट बड्डी (edt_ftp_server); Lbl_ftp_port = नया QLabel; lbl_ftp_port- & gt; setText (टीआर ( "एफ़टीपी 服务器 端口:")); Lbl_ftp_port- & gt; सेटबड्डी (edt_ftp_port); Lbl_ftp_account = नया QLabel; lbl_ftp_account- & gt; setText (टीआर ( "एफ़टीपी 登录 帐号:")); Lbl_ftp_account- & gt; सेटबड्डी (edt_ftp_account); Lbl_ftp_pwd = नया QLabel; lbl_ftp_pwd- & gt; setText (टीआर ( "एफ़टीपी 登录 密码:")); Lbl_ftp_pwd- & gt; सेटबड्डी (edt_ftp_pwd); Ftp_settings = नया QGroupBox (यह); ftp_settings- & gt; setTitle (टीआर ( "एफ़टीपी 服务器 设置")); Ftp_settingsLayout = नया QGridLayout; Ftp_settingsLayout- & gt; एडविजेट (lbl_ftp_server, 0, 0); Ftp_settingsLayout- & gt; एडविजेट (edt_ftp_server, 0, 1); Ftp_settingsLayout- & gt; ऐडविजेट (lbl_ftp_port, 1, 0); Ftp_settingsLayout- & gt; एडविजेट (edt_ftp_port, 1, 1); Ftp_settingsLayout- & gt; एडव्यूजेट (lbl_ftp_account, 2, 0); Ftp_settingsLayout-> addWidget (edt_ftp_account, 2, 1); Ftp_settingsLayout- & gt; एडव्यूजेट (lbl_ftp_pwd, 3, 0); Ftp_settingsLayout- & gt; एडविजेट (edt_ftp_pwd, 3, 1); Ftp_settings- & gt; सेटलेआउट (ftp_settingsLayout); Edt_db_server = नया QLineEdit (this); Edt_db_port = नया QLineEdit (this); Edt_db_account = नया QLineEdit (this); Edt_db_pwd = नया QLineEdit (this); Edt_db_pwd- & gt; setEchoMode (QLineEdit :: पासवर्ड); Lbl_db_server = नया QLabel (यह); lbl_db_server- & gt; setText (टीआर ( "एफ़टीपी 服务器 地址:")); Lbl_db_server- & gt; सेट बड्डी (edt_ftp_server); Lbl_db_port = नया QLabel (यह); lbl_db_port- & gt; setText (टीआर ( "एफ़टीपी 服务器 端口:")); Lbl_db_port- & gt; सेटबड्डी (edt_ftp_port); Lbl_db_account = नया QLabel (यह); lbl_db_account- & gt; setText (टीआर ( "एफ़टीपी 登录 帐号:")); Lbl_db_account- & gt; सेटबड्डी (edt_ftp_account); Lbl_db_pwd = नया QLabel (यह); lbl_db_pwd- & gt; setText (टीआर ( "एफ़टीपी 登录 密码")); Lbl_db_pwd- & gt; सेटबड्डी (edt_ftp_pwd); Db_settings = नया QGroupBox (यह); db_settings- & gt; setTitle (टीआर ( "数据库 服务器 设置")); Db_settingsLayout = नया QGridLayout; Db_settingsLayout- & gt; ऐडविजेट (lbl_ftp_server, 0, 0); Db_settingsLayout- & gt; एडविजेट (edt_ftp_server, 0, 1); Db_settingsLayout- & gt; ऐडविजेट (lbl_ftp_port, 1, 0); Db_settingsLayout- & gt; एडव्वेट (edt_ftp_port, 1, 1); Db_settingsLayout- & gt; एडव्यूजेट (lbl_ftp_account, 2, 0); Db_settingsLayout- & gt; एडविजेट (edt_ftp_account, 2, 1); Db_settingsLayout- & gt; ऐडविजेट (lbl_ftp_pwd, 3, 0); Db_settingsLayout- & gt; एडविजेट (edt_ftp_pwd, 3, 1); Db_settings- & gt; सेट लेआउट (db_settingsLayout); ButtonsLayout = नया QHBoxLayout; buttonsLayout- & gt; addStretch (); Btn_start = नया QPushButton; btn_start- & gt; setText (टीआर ( "开始")); buttonsLayout- & gt; addWidget (btn_start); Btn_stop = नया QPushButton; btn_stop- & gt; setText (टीआर ( "停止")); बटनलेआउट- & gt; एडविजेट (बीटीएन_स्टॉप); Btn_exit = नया QPushButton; btn_exit- & gt; setText (टीआर ( "退出")); buttonsLayout- & gt; addWidget (btn_exit); SettingLayout = नया QVBoxLayout; सेटिंगलेआउट- & gt; एडव्वेट (db_settings); settingLayout- & gt; addStretch (); सेटिंगलेआउट- & gt; एडवुडट (ftp_settings); केंद्रीय लेआउट = नया QHBoxLayout; केंद्रीय लेआउट- & gt; ऐडलेआउट (सेटिंगलेआउट); Lst_log = नया QListWidget; centralLayout- & gt; addWidget (lst_log); WinLayout = नया QVBoxLayout; WinLayout- & gt; ऐडलेआउट (केंद्रीय लेआउट); WinLayout- & gt; ऐडलेआउट (बटनलेआउट); सेट लेआउट (जीतलेआउट);  

मैं एक छोटा क्यूटी प्रोग्राम विकसित कर रहा हूं, और एक क्यू मेनइन वाउन्दो उप-कक्षा निर्माता में कोड ऊपर लिखा है लेकिन प्रदर्शित विगेट्स को गड़बड़ कर दिया गया है। सभी सलाहों की सराहना की जाती है!

निम्न परिणाम वाला स्क्रीनशॉट है:

मुझे संदेह है कि समस्या शीर्ष में है स्तर लेआउट, जो कि जीत है। लाउआउट के अभिभावक को जीतने के लिए क्यू मेनइन का केंद्रीय विजेट सेट करें:

  winLayout = नया QVBoxLayout (ui- & gt; केंद्रीय विजेट);  

मैं क्यूटी क्रिएटर या क्यूटी डिज़ाइनर का उपयोग उपयोगकर्ता इंटरफेस डिजाइन करने के लिए करता हूं। Qt निर्माता लेआउट्स और अन्य उदासीन चीजों के लिए आवश्यक कोड बनाता है और यहां तक ​​कि अगर आप अपना स्वयं का कोड लिखकर उपयोगकर्ता इंटरफेस बनाने का निर्णय लेते हैं, तो आप क्यूटी क्रिएटर के साथ एक प्रोटोटाइप बना सकते हैं और देखें कि किस प्रकार का कोड बनाता है।


Comments