QListWidget简单应用

Qt编程23:QListWidget简单应用

//构建QListWidget对象
    listWin = new QListWidget(this);
 
    //设置item对齐方式
    listWin->setFlow(QListWidget::LeftToRight);
 
    //设置调色板
    QPalette pal;
    //设置交替颜色
    pal.setColor(QPalette::AlternateBase,QColor(Qt::gray));
    //设置文字颜色
    pal.setColor(QPalette::Text,QColor(Qt::blue));
    //设置背景色
    pal.setColor(QPalette::Base,QColor(148,220,145));
 
    //设置颜色交替
    listWin->setAlternatingRowColors(true);
    //在listWin中加入item
    listWin->setPalette(pal);
    listWin->addItem(new QListWidgetItem(QIcon(":/new/listWidget/dialog-close.png"),"关闭按钮\nsdfs\nsssss"));
    listWin->addItem(new QListWidgetItem(QIcon(":/new/listWidget/dialog-cancel.png"),"取消按钮"));
    listWin->addItem(new QListWidgetItem(QIcon(":/new/listWidget/dialog-close.png"),"关闭按钮\nsdfs"));
    listWin->addItem(new QListWidgetItem(QIcon(":/new/listWidget/settings.png"),"设置按钮"));
    listWin->addItem(new QListWidgetItem(QIcon(":/new/listWidget/task-ongoing.png"),"任务按钮"));
    listWin->addItem(new QListWidgetItem(QIcon(":/new/listWidget/view-refresh.png"),"刷新按钮"));
 
    //设置显示模式为图标模式
    listWin->setViewMode(QListWidget::IconMode);
    //设置可以换行显示
    listWin->setLayoutMode(QListWidget::Batched);
    //不接受拖放
    listWin->setAcceptDrops(false);
    //开启排序功能
    listWin->setSortingEnabled(true);
    //设置当前活动行为3
    listWin->setCurrentRow(2);
    listWin->setEditTriggers(QListWidget::DoubleClicked);
    //将listWin加入布局
    ui->verticalLayout->addWidget(listWin);

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QListWidget是PyQt5中的控件之一,它可以用于显示一个项目列表,并且允许用户通过单击列表中的一个项目来选中它。以下是一个简单的示例程序,它演示了如何使用QListWidget: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QListWidget, QVBoxLayout class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): vbox = QVBoxLayout() listWidget = QListWidget() vbox.addWidget(listWidget) for i in range(10): item = 'Item %d' % i listWidget.addItem(item) self.setLayout(vbox) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('QListWidget Example') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) ``` 在该程序中,我们创建了一个QListWidget对象,然后通过循环将10个项目添加到列表中。最后,我们将QListWidget添加到QVBoxLayout中,并将其设置为应用程序的主窗口的布局。 当用户单击列表中的项目时,可以通过调用QListWidget.currentItem()方法来获取当前选中的项目。例如,以下代码演示如何在用户单击列表中的项目时将其文本打印到控制台: ```python listWidget.currentItemChanged.connect(self.onCurrentItemChanged) ... def onCurrentItemChanged(self, current, previous): if current is not None: print(current.text()) ``` 在这个示例中,我们使用QListWidget.currentItemChanged()信号连接了一个槽函数onCurrentItemChanged()。当用户单击列表中的项目时,该信号将被发出,并将当前选中的项目和以前选中的项目作为参数传递给槽函数。在槽函数中,我们检查当前项目是否为None,并打印其文本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值