问题一:我使用了listwidget的对齐函数后图片和文字是一上一下没问题,但是图片位置是靠在顶上,我需要图片和文字都在中间
问题二:我需要有点击变换背景颜色功能
问题三:item分割线需要只有中间一段不要拉通
如图。
问题一:
QListWidgetItem *item = new QListWidgetItem();
item->setTextAlignment(Qt::AlignCenter); // 设置文字居中对齐
item->setData(Qt::DecorationRole, QPixmap("path/to/image.png")); // 设置图片
QListWidget *listWidget = new QListWidget();
listWidget->addItem(item);
问题二:
// 在构造函数或初始化方法中连接信号和槽
connect(listWidget, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(onItemClicked(QListWidgetItem*)));
// 槽函数实现
void YourClass::onItemClicked(QListWidgetItem *item)
{
// 修改选中的 item 的背景颜色
item->setBackground(QColor(255, 0, 0)); // 示例设置为红色背景
}
问题三:
listWidget->setStyleSheet("QListWidget::item { border-bottom: 1px solid black; }");
QListWidget类提供基于项目列表的小部件。
QListWidget提供类似于QListView提供的列表视图,但具有用于添加和删除项的经典的界面。 QListWidget使用内部模型来管理列表中的每个QListWidgetItem。
现在制作一个QListWidget的编辑器,编辑器的功能是:
1.新建列表并保存到.txt文件中。
2.打开已有的列表文件.txt,并读入。
3.对新建或已有的列表进行编辑(添加、删除、修改操作)
最终的主界面如下所示:
这个建议你自己写一个自定义控件,使用qpushbutton作为基类,然后qpubutton里面使用2个qlabel,对2个qlabel进行上下布局。