Автор: kibsoft 9.11.2009, 15:51
QApplication app(argc,argv);
QWidget w;
QString str1("Number: "),str2(" Sum: ");
QStringList str;
QListWidget s(&w);
uint sum=0;
w.show();
for(int i=0;i<150000;++i)
{
sum+=i;
str << (str1+QString::number(i)+str2+QString::number(sum));
}
s.addItems(str);
app.exec();
Этот код выполнялся 8 секунд, стоило поставть s.setUniformItemSizes(true) и код заработал за 1 секунду. Прочитал в документации, что это свойство setUniformItemSizes дожно быть true, только когда все элементы одинакового размера..что это значит? у меня же все строки разного размера...
Автор: Litkevich Yuriy 9.11.2009, 16:01
Цитата(kibsoft @ 9.11.2009, 18:51)
у меня же все строки разного размера
Цитата(kibsoft @ 9.11.2009, 18:51)
все элементы одинакового размера
строки (QString) и элементы разные вещи. Речь идёт об одной высоте строки (Row) в списковом представлении
Автор: kibsoft 9.11.2009, 16:18
Цитата(Litkevich Yuriy @ 9.11.2009, 17:01)
Цитата(kibsoft @ 9.11.2009, 18:51)
у меня же все строки разного размера
Цитата(kibsoft @ 9.11.2009, 18:51)
все элементы одинакового размера
строки (QString) и элементы разные вещи. Речь идёт об одной высоте строки (Row) в списковом представлении
Т.е. если я например в качестве элементов возьму какие-нибудь картинки разного размера(по высоте), то это свойство должно быть false?
Автор: Litkevich Yuriy 9.11.2009, 16:41
Цитата(kibsoft @ 9.11.2009, 19:18)
то это свойство должно быть false?
точно поведение не помню, по моему если оно будет true, то он выставит все по наибольшему размеру.