ich habe im Moment eine QComboBox, welche händisch gefüllt ist.
Beispiel:
Code: Alles auswählen
interfaceComboBox->clear();
interfaceComboBox->insertItems(0, QStringList()
<< QApplication::translate("MainWindow", "COM1", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("MainWindow", "COM2", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("MainWindow", "COM3", 0, QApplication::UnicodeUTF8)
);
Nun habe ich inzwischen mittels QextSerialPort einen ansatz von automatismus was die Erkennung von Com-Ports angeht.
Auf diesem Wege kriege ich einmalig alle gefundenen Com-Ports in mein QTextEdit gelistet:
Code: Alles auswählen
QList<QextPortInfo> ports = QextSerialEnumerator::getPorts();
for (int i = 0; i < ports.size(); i++)
{
loggingBox->append(ports.at(i).portName.toLocal8Bit().constData());
loggingBox->append(ports.at(i).enumName.toLocal8Bit().constData()); }
Ok um die ComboBox automatisch richtig automatisch zu füllen müsste ich ja in etwa sowas machen:
Code: Alles auswählen
QList<QextPortInfo> ports = QextSerialEnumerator::getPorts();
interfaceComboBox->clear();
// define 2 string-var's
QString interfaceString1;
QString interfaceString2;
// loop and fill comboBox
for (int i = 0; i < ports.size(); i++)
{
interfaceString1 = ports.at(i).enumName.toLocal8Bit().constData();
interfaceString2 = ports.at(i).portName.toLocal8Bit().constData() + interfaceString1;
interfaceComboBox->insertItems(0, QStringList()
// geht
//<< QApplication::translate("MainWindow", (ports.at(i).portName.toLocal8Bit().constData()), 0, QApplication::UnicodeUTF8)
// broken
<< QApplication::translate("MainWindow",interfaceString2, 0, QApplication::UnicodeUTF8)
);
}
Code: Alles auswählen
mainwindow.cpp:228: error: no matching function for call to `QCoreApplication::translate(const char[11], QString&, int, QCoreApplication::Encoding)'
Ist es die Verwendung von translate an sich oder wie mach ich das ganze etwas eleganter ?