如題,要在QListWidgetItem添加一個洗掉按鈕,Qt界面已實作,但洗掉按鈕的connect一直不知道怎么弄,求指導。
代碼如下
void CCopyrightWgt::AddFiles()
{
QStringList fileNames = QFileDialog::getOpenFileNames(this,
QString::fromUtf16(L"打開"),
".",
QString::fromUtf16(L"所有檔案(*.*)")
);
//
int FileNum = fileNames.count();
if (!fileNames.isEmpty())
{
m_pUi->lwFiles->setSelectionMode(QAbstractItemView::SelectionMode::SingleSelection); //設定單選模式
m_pUi->lwFiles->setResizeMode(QListView::Adjust);
m_pUi->lwFiles->setAutoScroll(true);
for (int index=0; index<FileNum; index++)
{
QWidget *wgtContainter = new QWidget;
QHBoxLayout *hLayout = new QHBoxLayout(wgtContainter);
QPushButton *pDeleteBtn = new QPushButton;
//截取檔案名顯示
QString file_name = QFileInfo(fileNames[index]).fileName();
QLabel *filename = new QLabel(file_name);
pDeleteBtn->setText(QString::fromUtf16(L"洗掉"));
pDeleteBtn->resize(45,20);
hLayout->addWidget(filename);
hLayout->addStretch(1);
hLayout->addWidget(pDeleteBtn);
hLayout->setContentsMargins(5,0,0,5);
wgtContainter->setLayout(hLayout);
wgtContainter->show();
QListWidgetItem *fileItem = new QListWidgetItem(m_pUi->lwFiles);
m_pUi->lwFiles->setItemWidget(fileItem,wgtContainter);
fileItem->setSizeHint(QSize(600,40));
fileItem->setBackgroundColor(0xFF6db7f0);
fileItem->setToolTip(fileNames[index]);
}
}
connect(pDeleteBtn,SIGNAL(clicked()),wgtContainter,SLOT(RemoveItem()));//這里connect失敗,該怎么去修改,實作洗掉按鈕的SLOT
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/114481.html
標籤:基礎類
上一篇:有關于TCP資料包包頭包尾的處理
