QT自学笔记3

it2026-09-20  0

QT自学笔记3

组合文本框QComboBox

文本框加下拉列表.属性:

位置currentIndex()文本(text)itemText(int index) //用户显示用text关联数据(data)itemData(int index) //代码操作用dataeditable //勾选的话,既可以选择,也可以编辑。使用currentText()获取当前用户输入

手工添加项

additem();insertitem();

常用信号:

void currentIndexChanged(int index)void currentIndexChanged(const QString & text)

例子

在ui界面添加一个QComboBox和一个pushButton,并将二者连接起来

头文件

//添加槽函数 private slots: int ONbtnOK(); int OnChanged(int index);

源文件

//构造函数 MyWin::MyWin(QWidget *parent) : QWidget(parent) { //添加text和data ui.setupUi(this); ui.comboBox->addItem("Chinese","ch"); ui.comboBox->addItem("English","en"); ui.comboBox->addItem("Korean","kr"); ui.comboBox->insertItem(1, "Japanese","jp"); //连接,信号:按下pushButton connect(ui.btnOK, SIGNAL(clicked()),this, SLOT(ONbtnOK()) ); //连接,信号:文本框选择改变 connect(ui.comboBox,SIGNAL(currentIndexChanged(int)), this,SLOT(OnChanged(int)) ); } //命名槽函数 int MyWin::ONbtnOK() { int index = ui.comboBox->currentIndex(); QString text = ui.comboBox->itemText(index); //data需要添加一个.toString()方法 QString data = ui.comboBox->itemData(index).toString(); return 0; } //当文本框选择改变时 int MyWin::OnChanged(int index) { return 0; }

QToolButton

Qt提供了两种按钮控件,有共同的父类,QAbsractButton

QPushButton 普通按钮QToolButton 工具按钮

1.text 文本显示

2.icon 图标(推荐使用png格式,放在Resource目录下 )

添加图标方式

下载好的图标放到一个目录里面,点击右下角资源管理器的编辑按钮添加一个前缀image,然后添加文件,将图标添加进去,点击ok在QAbstractButton中点击icon将创建好的图标添加进去,iconSize设置图标大小48*48在QToolButton中,toolButtonStyle选择不同风格勾选autoRise变成浮动按钮勾选checkable变成按下/弹起一样的显示。和autoRise不兼容

例子:

在ui界面添加一个tool Button并针对不同信号,添加不同的槽函数

源文件

private slots: int OnBtnHelp(); int OnBtnChanged(bool checked);

头文件

//构造函数 MyWin::MyWin(QWidget *parent) : QWidget(parent) { ui.setupUi(this); //连接:点击时(clicked)触发 connect(ui.toolButton,SIGNAL(clicked()), this,SLOT(OnBtnHelp()) ); //连接:按下弹起(toggled)下触发 connect(ui.toolButton, SIGNAL(toggled(bool)), this, SLOT(OnBtnChanged(bool)) ); } int MyWin::OnBtnHelp() { //QMessageBox::information(this, "Title","help"); return 0; } int MyWin::OnBtnChanged(bool checked) { return 0; }

QAbstactButton

有四个信号:

void clicked(bool clicked = false)void pressed()void released()void toggled(bool checked)

QLable

文字的显示格式

背景色,前景色字体及大小是否换行设置边框添加图片

在ui界面添加一个Label,右键->改变样式表。里面可以设置颜色、背景颜色、字体和大小、对齐方式。

在QLable中选中wordWrap 即可换行。在QFrame中选择frameshape可以设置边框

添加图片

在资源浏览器中添加好资源->点击QLale的pixmap添加图片->选中scaledContents将图片修改到合适尺寸

效果图

最新回复(0)