PDA

View Full Version : سوال: سوال در Qt Designer



sara1390
جمعه 20 خرداد 1390, 02:40 صبح
سلام دوستان.

یه سوال در مورد Qt Designer دارم.

کسی میدونه چه جوری میتونم این کاری که توضیح میدم رو انجام بدم

من یه آیکون با علامت + دارم. میخوام وقتی روش کلیک میکنم زیرش یه فریم که از قبل ساختم و شامل یه سری Widget هست باز بشه و آیکون هم عوض بشه و تبدیل یه یه آیکون دیگه شه(آیکون با علامت + جاش رو با آیکن با علامت – عوض کنه)

و وقتی این بار روی آیکون – کلیک کردم اون فریمی که قبلا باز شده بود بسته شه.

من الان فقط میتونم با Edit Signals/Slots یکی از این 2 تا کار رو انجام بدم .مثلا وقتی روی – کلیک میکنم فریمم بسته میشه. ولی نمیدونم بقیش رو باید چیکار کنم.

اگه کسی میتونه کمکم کنه ممنون میشم

mousamk
شنبه 21 خرداد 1390, 19:30 عصر
برای اون آیکن +، یک QPushButton بگذارید و خاصیتهای checkable و checked اون رو تیک بزنید.
فریمتون رو هم به صورت عادی بسازید.
حالا سیگنال toggled(bool) اون دکمه رو به اسلات setVisible(bool) فریم وصل کنید. (این اسلات به صورت پیش فرض تو لیست نیست و تو پنجره انتخاب سیگنال و اسلات باید تیک پایین پنجره یعنی show signals and slots from QWidget رو بزنید تا تو لیست بیاد)

تغییر علامت + به - و برعکس رو هم میتونید در کد خیلی راحت انجام بدید، اما اگه نمیخواید کد بزنید و میخواید حتما همه چیز رو در Designer انجام بدید، چیزی که من به ذهنم میرسه اینه که دو تا دکمه با علامتهای + و - بذارین و با زدن هر کدوم، علاوه بر show/hide کردن فریم، اون یکی رو دکمه رو هم show/hide کنین و برعکس تا از دید فرد ناظر، فقط یه دکمه دیده بشه که show و hide شدن فریم رو کنترل میکنه.