سؤال

أنا أكتب نافذة تسجيل الدخول في كيو تي.

عندما ينقر المستخدمون على موافق ، يجب أن يغلق نافذة تسجيل الدخول, ، عرض أ "الاتصال بالخادم ..." عنصر واجهة مستخدم, ، وافتح النافذة الرئيسية مرة واحدة في اتصل بالخادم الطريقة التي قامت بها وظيفتها.

ومع ذلك ، فإن أداة يظهر فقط عندما النافذة الرئيسية يظهر ، ويختفي على الفور (لا ينبغي أن يغلق!)

كيف يمكنني حل هذه المشكلة؟

void LoginWindow::blah()
   {
   close();

   QWidget widget;
   widget.show();

   //calls to the "connecttoserver method"

   Main *main = new Main(student->getInfo()[0], student->getInfo()[1], student->getInfo()[2], view);
   main->show();
       }
   }
هل كانت مفيدة؟

المحلول

يتم الإعلان عن QWidget على أنه تلقائي على المكدس بحيث يتم تدميره عند عودة الطريقة. تريد أن تعلن ذلك على الكومة بدلاً من ذلك:

QWidget *widget = new QWidget();
widget->show();

نصائح أخرى

بالإضافة إلى Atomice's إجابه, ، تأكد من تعيين quitonlastwindowclosclosled من تطبيق التطبيق الخاص بك ، وإلا فإن تطبيقك سينتهي بين إغلاق نافذة تسجيل الدخول الخاصة بك وفتح نافذتك الرئيسية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top