如何在运行时显示QT中的字符串列表



我在运行时有一个字符串列表。

任何人都可以帮助我在QWidget中显示这些字符串。当我右键单击该字符串时,我需要有一个选项显示索引,该选项将在QMessageBox中显示该字符串的索引。

如果可能的话,请提供一些技术指导。

谢谢。

好的,让我们从您的用例的设计开始。。。

  • 我建议使用QListWidget作为列表。每个字符串都可以是一个单独的项。

  • 你可以显示一个右键点击的弹出窗口,但如果它只有显示索引操作,它本身就没有那么大意义。您可以立即显示带有该索引的消息框。

我会在下面写这样的东西:

MyClass::MyClass(QObject *parent)
: QObject(parent)
, m_listWidget(new QListWidget(this))
{
QStringList myStringList = QStringList() << "foo" << "bar" << "baz";
m_listWidget->addItems(myStringList);
// Set up your action with the popup for right click if needed
// and connect to the "triggered" signal of the particular action
connect(listWidget, SIGNAL(itemClicked(QListWidgetItem * item)), SLOT(showMessageBox(QListWidgetItem * item)));
...
}
void MyClass::showMessageBox(QListWidgetItem * item)
{
Q_UNUSED(item)
QMessageBox messageBox;
messageBox.setText(m_listWidget->currentRow());
messageBox.exec();
}

如果你有更多的右键点击操作,你可以使用一个弹出对话框,是的,上面有几个操作,但到目前为止,这似乎不是这里的用例。

最新更新