《QT从基础到进阶·十一》QStackedWidget和QListWidget使用

简介: 《QT从基础到进阶·十一》QStackedWidget和QListWidget使用

QStackedWidget主要用于页面切换,如下:

QListWidget主要用于显示列表信息,如下:

QStackedWidget具体使用:

TableDemo6::TableDemo6(QWidget *parent)
  :MainWindow(parent)
{
  ui.setupli(this);
  QPushButtom*b1 =new OPushButton("b1",this);
  stack =new QStackedWidget(this);//创建页面切换窗口
  stack->resize(300,300);
  stack->move(30,30);
  QLabel*FirstPage =new QLabel(this);
  QLabel*SecondPage =new QLabel(this);
  QLabel*ThirdPage =new QLabel(this);
  FirstPage->setText(QStringLiteral("第一页"));
  SecondPage->setText(QStringLiteral("第二页"));
  ThirdPage->setText(QStringLiteral("第三页"));
  //添加页面用于切换
  stack->addWidget(FirstPage);
  stack->addWidget (SecondPage);
  stack->addWidget (ThirdPage);
  comect(b1,SIGNAL(clicked()),this,SLOT(switchPage()));
}
void TableDem6::switchPage()
{
  int count = stack->count(); //获取切换页面的数量
  int index = stack->currentIndex(); //获取当前页面索引
  index++;
  if(index >= count){
    index =0;
  }
  stack->setCurrentIndex(index);
}

QListWidget具体使用:

demo::demo(QWidget *parent):QDialog(parent)
{
  //创建一个QListWidget控件并向其中添加列表项
  list =new QListwidget();
  list->insertItem(0,tr("列表信息1"));
  list->insertItem(1,tr("列表信息2"));
  list->insertItem(2,tr("列表信息3"));
  textLabel =new QLabel(tr("页面1"));
  showLabel =new QLabel(tr("页面2"));
  aboutLabel =new QLabel(tr("页面3"));
  //创建QStackedwidget控件
  stack =new QStackedwidget();//在控件添加切换页面
  stack->addwidget(textLabel);
  stack->addWidget(showLabel);
  stack->addwidget(aboutLabel);
  //使用一个水平布局管理器对对话框进行布局
  QHBoxLayout *mainLayout =new QHBoxLayout(this);
  mainLayout->addwidget(list);
  mainLayout->addwidget(stack,0,Qt::AlignHCenter);
  //设置mainLayout的边框与对话框边缘的距离
  mainLayout->setMargin(5);
  mainLayout->setSpacing(5);
  //信号与槽的连接,实现点击不同列表信息切换对应的页面
  //此处窗口的index按插入的顺序从0依次排序,与QListWidget的条目排序一致
  connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));
}

QListWidget其他常用函数:

QListWidget第二种插入方式:list->addItem(可以是字符串或者QListWidgetItem*)

List-> addItem(QObejct::tr(“world”));

List-> addItem(new QListWidgetItem(QIcon(QObject::tr(“images/china.png”)), QObject::tr(“China”)));

List->setItemHidden(m_ModuleListWidget->item(0), true); //隐藏某行

addItem(“helloworld”); //多次执行,helloworld不是一行一行的显示出来,而是一次性显示出来

this->insertItem(0, QString::fromStdString(“helloworld”)); //多次执行是一行一行打印出来

注意:像带有页面切换的组件,比如QComboBox、QStackWidget等,一些current…Changed()可以作为信号,setCurrent…()可以作为槽函数。


📢博客主页: 主页

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

📢本文由 梦回阑珊 原创,首发于 CSDN,转载注明出处🙉

📢代码改变世界,你来改变代码!✨

相关文章
|
6月前
|
存储 容器
QT中QListWidget实现QListWidgetItem图片和文字居中
在使用QT开发软件的过程中,很多时候使用QListWidget来实现列表项的功能,比如MS系统的功能模块菜单,如下面2张图所示,其中第一张图是带文字和图标的列表项,第二张图是纯图标的模式,在最近开发的平台客户端的某个功能模块都用上了。
1013 0
|
6月前
|
数据库 开发者 Windows
QT 项目视图(QListView&QTreeView&QTableView)和项目部件(QListWidget&QTreeWidget&QTableWidget)详解-2
QT 项目视图(QListView&QTreeView&QTableView)和项目部件(QListWidget&QTreeWidget&QTableWidget)详解
|
6月前
|
XML 设计模式 JSON
QT 项目视图(QListView&QTreeView&QTableView)和项目部件(QListWidget&QTreeWidget&QTableWidget)详解-1
QT 项目视图(QListView&QTreeView&QTableView)和项目部件(QListWidget&QTreeWidget&QTableWidget)详解
解锁Qt QListWidget的全部潜力——用最佳实践和技巧赢得用户的喜爱和赞誉!
解锁Qt QListWidget的全部潜力——用最佳实践和技巧赢得用户的喜爱和赞誉!
145 1
|
6月前
【qt】QListWidget 组件3
【qt】QListWidget 组件
26 0
|
6月前
【qt】QListWidget 组件2
【qt】QListWidget 组件
51 0
|
6月前
【qt】QListWidget 组件1
【qt】QListWidget 组件
38 0
嵌入式 QT QListWidget 显示列表视图的小部件类
嵌入式 QT QListWidget 显示列表视图的小部件类
嵌入式 QT QListWidget 显示列表视图的小部件类
Qt-网易云音乐界面实现-5 收藏列表,播放列表实现 QListWidget QTableWidget
先上目前完成的内容吧,发现后面越写越多。在看看点击量,心凉凉。
400 0
Qt-网易云音乐界面实现-5 收藏列表,播放列表实现 QListWidget QTableWidget