<分区>
我正在学习 QT 并尝试用一些元素填充 QStringList
,这些元素稍后会填充 QListView
我在文档中的第一次尝试是:
// Create model
model = new QStringListModel(this);
// Make data
List << "Java" << "C++" << "C";
// Populate our model
model->setStringList(List);
// Glue model and view together
ui->listView->setModel(model);
到目前为止一切顺利...我可以看到包含我填充的所有元素的列表...
现在在同一个类中,我正在尝试定义一个函数,让我向列表中添加新元素...
所以我的第一个想法是定义类似的东西
void MainWindow::addNewLanguage(QString& item)
{
List << item;
model->setStringList(List);
}
但是(我的问题来了......)我只能通过做来调用我的函数
QString x( "Php" );
w1.addNewLanguage( x );
我想代替 dom 一些更好的东西,比如:
w1.addNewLanguage( "Pascal" );
不需要定义一个新的QString对象...
但是这样做会破坏与 msg 的编译
C:\Users\xxx\WorspaceQT\untitled4\main.cpp:25: error: invalid initialization of non-const reference of type 'QString&' from an rvalue of type 'QString' w1.addNewLanguage( "x2" ); ^
我能做些什么来解决这个问题??
谢谢! :)