ddobrev / QtSharp

Mono/.NET bindings for Qt
Other
571 stars 51 forks source link

Can't add more than one string in QtCore.QStringList #79

Open dsoronda opened 6 years ago

dsoronda commented 6 years ago

I'm trying to add more strings in QtCore.QStringList but constructor only allows one string as parameter.

We need this implementation:

QtCore.QStringList( IEnumerable<string> stringList);

// and then use it like
// new QtCore.QStringList( new string[] { "text1", "text2"} );

Problem is when I try to generate ie. QTreeWidget:

var tree = new QTreeWidget();
var headers = new QtCore.QStringList( new string[] { "text1", "text2" } );

tree.ColumnCount = 2;
tree.SetHeaderLabels( headers );

This is example I found for Qt

QStringList headerLabels;
headerLabels.push_back(tr("text1"));
headerLabels.push_back(tr("text2"));
headerLabels.push_back(tr("text3"));

headerLabels.push_back(tr("textN"));

treeWidget->setColumnCount(headerLabels.count());
treeWidget->setHeaderLabels(headerLabels);

Current workaround

var tree = new QTreeWidget();

tree.ColumnCount = 2;
var name = new QtCore.QStringList( "name" );
tree.SetHeaderLabels( name );
tree.HeaderItem.SetText( 1, "description" );
ddobrev commented 6 years ago

This constructor requires support for templates which is not complete yet. I'll let you know.