C++ 在Qt中,如何在for循环中添加qstring以相互追加并放入单个消息框中?

C++ 在Qt中,如何在for循环中添加qstring以相互追加并放入单个消息框中?,c++,string,qt,messagebox,C++,String,Qt,Messagebox,这是我写的代码。可以看出,在for循环中使用QString有点困惑。理想情况下,我想要的是一个可以包含for循环qstring消息的单个对话框。你知道如何做到这一点吗 for(size_t idx = 0; idx < count; ++idx){ libusb_device *device = list[idx]; libusb_device_descriptor desc = {0}; rc = libusb_get_device_descriptor(device,

这是我写的代码。可以看出,在for循环中使用QString有点困惑。理想情况下,我想要的是一个可以包含for循环qstring消息的单个对话框。你知道如何做到这一点吗

for(size_t idx = 0; idx < count; ++idx){
   libusb_device *device = list[idx];
   libusb_device_descriptor desc = {0};
   rc = libusb_get_device_descriptor(device, &desc);
   assert(rc == 0);
   //Print out desc.idVendor, desc.idProduct
   QString VendorID = QString("%1").arg(desc.idVendor, 0, 16).rightJustified(4, '0');
   QString ProductID = QString("%1").arg(desc.idProduct, 0, 16).rightJustified(4, '0');
   QString USB_BUS = QString("%1").arg(libusb_get_bus_number(device)).rightJustified(1, ' ');
   QString USB_DEVICE = QString("%1").arg(libusb_get_device_address(device)).rightJustified(1, ' ');

   QMessageBox::information(this, "USB Connection Status", QString("VendorID:ProductID = %1:%2 | Bus: %3 Device: %4\n").arg(VendorID).arg(ProductID).arg(USB_BUS).arg(USB_DEVICE));
}

是的+=为我做了这件事,同时将QMessageBox置于循环之外。我想把这篇文章贴在这里,以防将来有人发现自己和我一样的处境

将QMessageBox从for循环中取出。把它放在循环后面。在单个QString中收集您的消息,并在每次迭代中追加。只需使用+=哦,天哪,我是哑巴哈哈,将其追加到单个字符串。非常感谢!!!正如Drew McGowen提到的,可以制作类似QString字符串的东西;因为……条件。。{string+=…;//添加任何您想要添加的内容}只要+=每转一圈您需要的内容,并将其放入循环后的对话中
for(size_t idx = 0; idx < count; ++idx){
   libusb_device *device = list[idx];
   libusb_device_descriptor desc = {0};
   rc = libusb_get_device_descriptor(device, &desc);
   assert(rc == 0);
   //Print out desc.idVendor, desc.idProduct
   QString VendorID = QString("%1").arg(desc.idVendor, 0, 16).rightJustified(4, '0');
   QString ProductID = QString("%1").arg(desc.idProduct, 0, 16).rightJustified(4, '0');
   QString USB_BUS = QString("%1").arg(libusb_get_bus_number(device)).rightJustified(1, ' ');
   QString USB_DEVICE = QString("%1").arg(libusb_get_device_address(device)).rightJustified(1, ' ');

   USB_STATUS += QString("VendorID:ProductID = %1:%2 | Bus: %3 Device: %4\n").arg(VendorID).arg(ProductID).arg(USB_BUS).arg(USB_DEVICE);
}
QMessageBox::information(this, "USB Connection Status", USB_STATUS);