لماذا تضيف كيو تي أكثر من ثلاثة أعمدة عندما استخدم Restorestate () على QtableWidget؟

StackOverflow https://stackoverflow.com/questions/915352

  •  06-09-2019
  •  | 
  •  

سؤال

يبدو الرمز الخاص بي بطريقة ما يلي:

table = QTableWidget()
table.horizontalHeader().restoreState(settings.value("savedState"))
table.setColumnCount(3)

settings.setValue("savedState", table.horizontalHeader().saveState())

إذا قمت بتشغيله في المرة الأولى التي يوجد فيها فقط 3 رؤوس الأعمدة. المرة الثانية هناك 6 والثالث 9 ... الشيء الغريب هو table.columnCount() هو دائما 3. إذا قمت بإزالة table.setColumnCount(3) لا توجد أعمدة على الإطلاق.

لماذا يحدث هذا وهو خطأ أو مقصود؟

تحديث

إضافة table.clearContents() قبل table.setColumnCount(3) جعلها تعمل. ما زلت أعتقد أنه خطأ.

هل كانت مفيدة؟

المحلول

أي منصة وما هي إصدار كيو تي هذا؟ http://chaos.troll.no/~hhartz/tablecolumns.tar. يبدو أنه يعمل بشكل جيد باستخدام أحدث qt 4.5

نصائح أخرى

ماذا يحدث مع؟

table = QTableWidget();
table.setColumnCount(3);
table.horizontalHeader().restoreState(settings.value("savedState"));
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top