Qt Creator - 为Combbox添加大量值

时间:2015-04-11 15:05:53

标签: qt combobox qt-creator

我有一个很长的数字列表(491),我希望将它们全部放入Qt Creator中的Comb Box小部件中。手动进入是一种选择,但我觉得有一种更有效的方法可以将数字添加到框中。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以遍历存储容器并添加它们。

QComboBox *comboBox;

comboBox = new QComboBox( this );
comboBox ->setGeometry( 100 , 100 , 100 , 20 );

QList< int > intList;

intList.append( 1 );
intList.append( 2 );
intList.append( 3 );
intList.append( 4 );
intList.append( 5 );
intList.append( 6 );
intList.append( 7 );

foreach( const int &i , intList )
{
    comboBox->addItem( "Item: " + QString::number( i ) , i );
}

或者我误解了你的问题?


要将文本文件中的数据导入QStringList,您可以执行以下操作:

    QFile       file( "/path/filename.txt" );
    QStringList stringList;


    if( ( !file.fileName( ).trimmed( ).isEmpty( ) ) &&
        (  file.exists( ) ) && 
        (  file.open( QIODevice::ReadOnly | QIODevice::Text ) ) )
    {
        QTextStream textStream( &file );

        while( !textStream.atEnd( ) )
        {
            stringList << textStream.readLine( );
        }

        file.close( );

    // then just fill the QComboBox Text.
    comboBox->addItems( stringList );