Qt基本控件(二)

Qt基本控件(二)

1.Tab Widget
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.list Widget和tree Widget
在这里插入图片描述
每一项都是一个item

3.Table Widget
在这里插入图片描述
4.水平布局、垂直布局、打破布局

在这里插入图片描述
5.样式表

QPushButton:!hover{border-image:url(:/pic/pic/pause.png);}
QPushButton:hover{border-image:url(:/pic/pic/pause_h.png);}

表示当鼠标移至该图案时显示某图片,当鼠标移开时显示另一个图片,由此造成视觉上的效果

6.样式表例子
在帮助索引中搜索Customizing QPushButton

  QPushButton {
      border: 2px solid #8f8f91;
      border-radius: 6px;
      background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                        stop: 0 #f6f7fa, stop: 1 #dadbde);
      min-width: 80px;
  }

  QPushButton:pressed {
      background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                        stop: 0 #dadbde, stop: 1 #f6f7fa);
  }

  QPushButton:flat {
      border: none; /* no border for a flat push button */
  }

  QPushButton:default {
      border-color: navy; /* make the default button prominent */
  }

放入pushButton样式表中
在这里插入图片描述
在这里插入图片描述
众多qss可供参考

在这里插入图片描述
7.使用pushButton为stackedWidget翻页

void MainWindow::on_pushButton_5_clicked()
{
    ui->stackedWidget->setCurrentIndex(0);
}

void MainWindow::on_pushButton_6_clicked()
{
    ui->stackedWidget->setCurrentIndex(1);
}

在这里插入图片描述

<think>嗯,用户想要了解Qt基本控件的使用方法,参考了提供的引用中的1、2、4、5。用户特别询问使用教程,结合这些引用内容来看,首先需要明确基本控件包括哪些类型。引用4详细列出了六种按钮组件:QPushButton、QToolButton、QRadioButton、QCheckBox、QCommandLinkButton和QButtonBox。引用5则提供了列表控件(QListWidget)和树形控件(QTreeWidget)的具体操作方法,包括添加删除项、信号处理等。引用2提到了其他控件如QLabel、QGroupBox、QDoubleSpinBox等,还特别提到QTextToSpeech这种将文本转语音的控件。引用1和3则是关于特定扩展控件(时间轴、丝带控件)的补充信息。针对用户的需求,优先组织核心基础控件教程结构:把基本控件分成四大类进行说明:文本类(QLabel/QTextEdit)、按钮类(QPushButton等六种)、数值输入类(QSpinBox/QDoubleSpinBox)、列表类(QListWidget/QTreeWidget)。需要为每类控件提供典型创建代码和核心方法。特别重视引用5中提到的QListWidget增删改查操作和信号机制。在准备回答时应注意:对复杂控件(如QTreeWidget)需分层演示父子项创建;引用4提到的单选/复选框分组要强调QButtonGroup的使用;引用2的QTextToSpeech作为特殊案例单独简述。最后补充学习路径建议时,会推荐官方文档和参考引用中的GitHub项目(如时间轴控件项目链接)。相关问题设计方向包括:基础控件信号连接实践(引用5有信号案例)、特定控件深度应用(如QTreeWidget数据处理)、布局管理对控件的影响、以及引用中提到的扩展控件(丝带/时间轴)的延伸学习。这样既覆盖基础又引导进阶探索。</think> 以下为Qt基本控件的核心使用教程及示例代码,结合引用资料整理关键点: --- ### **一、核心基础控件使用指南** #### 1. **文本显示控件** - **QLabel**:文本/图片显示 ```cpp QLabel *label = new QLabel("文本内容", parent); label->setPixmap(QPixmap("image.png")); // 显示图片 ``` #### 2. **按钮控件**(引用[4]) | 控件类型 | 特点 | 代码示例 | |------------------|-----------------------|-----------------------------| | **QPushButton** | 普通按钮 | `QPushButton *btn = new QPushButton("确定");` | | **QRadioButton** | 单选按钮(需分组) | 配合`QButtonGroup`实现互斥 | | **QCheckBox** | 多选按钮 | `QCheckBox *cb = new QCheckBox("选项");` | #### 3. **输入控件** - **QLineEdit**:单行文本输入 ```cpp QLineEdit *edit = new QLineEdit(); QString text = edit->text(); // 获取输入 ``` - **QTextEdit**:富文本编辑器(引用[2]) ```cpp QTextEdit *textEdit = new QTextEdit; textEdit->setHtml("<b>加粗文本</b>"); ``` #### 4. **数值输入控件**(引用[2]) - **QSpinBox**(整型) / **QDoubleSpinBox**(浮点型) ```cpp QDoubleSpinBox *spinBox = new QDoubleSpinBox; spinBox->setRange(0.0, 100.0); // 设置范围 spinBox->setValue(50.0); // 默认值 ``` #### 5. **列表控件**(引用[5]) - **QListWidget**:动态项列表 ```cpp // 添加项 ui->listWidget->addItem("项目1"); // 带图标项 QListWidgetItem *item = new QListWidgetItem(QIcon("icon.png"), "项目2"); ui->listWidget->addItem(item); // 信号连接(项点击) connect(ui->listWidget, &QListWidget::itemClicked, [](QListWidgetItem *item){ qDebug() << "选中项:" << item->text(); }); ``` #### 6. **树形控件**(引用[5]) - **QTreeWidget**:层级数据展示 ```cpp QTreeWidget *tree = new QTreeWidget; tree->setColumnCount(2); // 设置列数 // 添加父节点 QTreeWidgetItem *parent = new QTreeWidgetItem(tree, {"父节点"}); // 添加子节点 new QTreeWidgetItem(parent, {"子节点", "值"}); ``` --- ### **、特殊功能控件** 1. **QTextToSpeech**(引用[2]) ```cpp QTextToSpeech *speech = new QTextToSpeech; speech->say("Hello Qt"); // 文本转语音 ``` 2. **布局管理** 使用`QHBoxLayout`/`QVBoxLayout`自动排列控件,避免手动调整位置。 --- ### **三、学习路径建议** 1. **官方文档**:访问[Qt Assistant](https://doc.qt.io/)查阅控件API 2. **实战项目参考**: - 时间轴控件:[Qt-Timeline-Widget](https://gitcode.com/gh_mirrors/qt/Qt-Timeline-Widget)[^1] - 丝带菜单:[Qt-Ribbon-Widget](https://gitcode.com/gh_mirrors/qt/Qt-Ribbon-Widget)[^3] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值