Qt基本控件

Qt控件

1.右键项目,在弹出的对话框中选择add new…
在这里插入图片描述
2.在新建的.qrc文件中先命名前缀
在这里插入图片描述
接着添加文件在这里插入图片描述
2.tool button的使用
在这里插入图片描述
重命名对象名在这里插入图片描述
然后贴图,需要先qmake一下

在这里插入图片描述
在这里插入图片描述
工具栏按钮也可以转到信号与槽
在这里插入图片描述

void MainWindow::on_actionOpen_triggered()
{
    qDebug()<<"已打开";//以debug的方式打在qt应用程序输出栏
}

需要头文件#include<QDebug>

3.更改应用程序图标
在这里插入图片描述
双击.pro,在尾部加入RC_ICONS+=./pic/1.ico
注意只能是.ico
在这里插入图片描述
在这里插入图片描述
4.改变pushbutton的样式

右键pushbutton选择改变样式表…
在下拉菜单中选择border-image

5.Radio Button和Group Box的使用
在这里插入图片描述
在这里插入图片描述
也可以使用选中多个Radio Button新建按钮组
在这里插入图片描述
6.check box的使用
在这里插入图片描述
check box也满足 click()等信号与槽

7.comboBox的使用–下拉组合框
在这里插入图片描述

在这里插入图片描述
组合框的信号与槽使用在这里插入图片描述

弹出消息需要头文件#include<QMessageBox>

void MainWindow::on_comboBox_currentIndexChanged(int index)
{
    QString jindu;
    switch (index) {
    case 0:
        jindu="目前进度已完成";
        break;
    case 1:
        jindu="目前进度在推进";
        break;
    case 2:
        jindu="目前进度已完成";
        break;
    }
    QMessageBox::information(this,"项目进度",jindu);
}

在这里插入图片描述
8.Line Edit
在这里插入图片描述

IP类型
在这里插入图片描述
密码类型
在这里插入图片描述
TextLabel加载图片
在这里插入图片描述
也可以使用代码:

QPixmap mImage=QPixmap(":/pic/pic/pat.bmp");//开内存
    ui->label_11->setPixmap(mImage);
    ui->label_11->resize(320,240);
    ui->label_11->setScaledContents(true);

添加gif图片
右键QMovie在Refactor对话框中选择添加头文件#include <QMovie>
在这里插入图片描述

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QMovie* pMovie=new QMovie(":/pic/pic/mua.gif");
    ui->label_6->setMovie(pMovie);
    ui->label_6->setFixedSize(320,240);
    pMovie->start();

}

9.文本框输入显示
先设置两个文本框,一个Text Edit,一个Text Browser
在这里插入图片描述
设置一个pushButton的槽函数

void MainWindow::on_pushButton_2_clicked()
{
    QString textStr=ui->textEdit->toHtml();
    //QString textPlainStr=ui->textEdit->toPlainText();

    ui->textBrowser->setText(textStr);
}

在这里插入图片描述
10.progressBar
在这里插入图片描述

基础设置
在这里插入图片描述

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QMovie* pMovie=new QMovie(":/pic/pic/mua.gif");
    ui->label_6->setMovie(pMovie);
    ui->label_6->setFixedSize(320,240);
    pMovie->start();

    ui->progressBar_2->setValue(90);

    int total=100;
    int current=90;
    //ui->progressBar_3->setMaximum(total);
    ui->progressBar_3->setValue(current/(total*1.0)*100);

}

在这里插入图片描述

11.滑动框内插入图片
涉及到scrollArea 与TextLabel

QLabel* pImageLabel= new QLabel(this);//这是一个textLabel 物件
pImageLabel->setPixmap(QPixmap(":/pic/pic/pat.bmp"));//Label里面放图
ui->scrollArea->setWidget(pImageLabel);//把Label放入滚动框内

在这里插入图片描述
在textLabel里面设置图片,直接使用pixmap
在这里插入图片描述

<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、付费专栏及课程。

余额充值