PDA

View Full Version : سوال: دسترس به کنترل های یک فرم در فرم دیگر



arashz4
شنبه 14 تیر 1393, 12:28 عصر
سلام
من میخام از فرم دومی که باز شده با گرفت یک ورودی از TextBox نوشه title فرم اصلی عوض کنم.
من میخام بدونم چجوری میشه از یک فرم به کنترل های دیگر فرم ها دسترسی داشته باشی؟
با سپاس

حامد مصافی
دوشنبه 16 تیر 1393, 00:43 صبح
مسئله اصلی اینه: دسترسی به فرم دیگر
فرض کنید شما یک MainWindow دارید. در یک رویداد خاص یک Dialog را فراخوانی می‌کنید. اگر سازنده شما از این Dialog مقدار parent را به this مقدار دهی کند. شما در فرم Dialog به والد دسترسی خواهید داشت.
qobject_cast<QMainWindow*>(parent())->setWindowTitle(tr("Hello from here"));

حال فرض کنید این دو فرم در سلسله مراتبی دور‌تر از هم هستند. برای مثال شما دو Dialog در یک فرم باز کردید. یکی از این Dialog ها باید به اعضای دومی دسترسی پیدا کند. در این حالت داریم:
۱- کلاس دیاگرام را باز‌بینی کنید. احتمال اشتباه زیاد است. سعی کنید مسئله را به حالت اول تبدیل کنید.
۲- یک اشاره گر به فرم مورد نظر را در یک کلاس به صورت استاتیک تعریف کنید و بقیه ماجرا...

arashz4
دوشنبه 16 تیر 1393, 10:29 صبح
من این کد توی برنامه اضافه کردم و زمانی که به این خط میرسه میپیره بیرون!

حامد مصافی
دوشنبه 16 تیر 1393, 13:28 عصر
کد فراخوانی فرم دومت رو باز‌بینی کن، parent براس ست می‌کنی؟