Qt5开发之控件

xiaoxiao2021-02-28  103

一、LineEdit编辑框

//lineEdit中显示 ui->lineEdit->setEchoMode(QLineEdit::Normal);//输入原样显示 ui->lineEdit2->setEchoMode(QLineEdit::NoEcho);//输入不显示出来 ui->lineEdit3->setEchoMode(QLineEdit::Password);//输入密码样式显示 ui->lineEdit4->setEchoMode(QLineEdit::PasswordEchoOnEdit);//输入原样显示,离开后密码样式显示 //lineEidt中Placeholder显示文本 ui->lineEdit->setPlaceholderText("QLineEdit::Normal"); ui->lineEdit2->setPlaceholderText("QLineEdit::NoEcho"); ui->lineEdit3->setPlaceholderText("QLineEdit::Password"); ui->lineEdit4->setPlaceholderText("QLineEdit::PasswordEchoOnEdit"); //lineedit右边显示图标,并点击删除lineedit中数据 QAction *action = new QAction; action->setIcon(QIcon("../icon/Sound.ico")); ui->lineEdit_5->addAction(action,QLineEdit::TrailingPosition); connect(action,SIGNAL(triggered(bool)),this,SLOT(onClear())); void lineEdie::onClear() { ui->lineEdit_5->clear(); }

echoMode

Normal:正常显示

Password:设置密码为小黑点显示

或者setEchoMode(QLineEdit::Password)

关于:

QLineEdit是单行文本输入,一般用于用户名、密码等少量文本交互地方。 QTextEdit用于多行文本,也可以显示HTML格式文本。 QPlainTextEdit与QTextEdit很像,但它多用于需要与文本进行处理的地方,而QTextEdit多用于显示,可以说,QPlainTextEdit对于plain text处理能力比QTextEdit强。

获取当前行数:ui->plainTextEdit->document()->lineCount()

二、CheckBox多选按钮 多选框状态: 1、不选中:Qt::Unchecked 2、半选中(正方形实心):Qt::PartiallyChecked 3、全选中Qt::Checked

设置当前多选框状态:

ui->checkBox->setCheckState(Qt::PartiallyChecked);

判断当前状态:

ui->checkBox->checkState() == Qt::Unchecked

三、RadioBox单选按钮

判断当前状态:

if(ui->radiobox->isChecked())//选中

设置选中:

ui->radiobox->setChecked(true);//选中

ui->rediobox->setdisabled(false);//选中,和ch是置反

四、ComboBox下拉组合框

QStringList  items;

items.append("选项1");

items.append("选项2");

ui->comboBox->addItems(items);

获取当前选中项数据:

ui->comboBox->currentText();//String

获取当前选中项:

ui->comboBox->currentIndex();//int

动态设置当前选中项:

ui->comboBox->setCurrentIndex(1);//从0开始

设置某一行文本:

ui->conboBox->setItemText(某一行,"12123");

五、ListWidget列表控件

添加数据项:累加

QListWidgetItem *item = new QListWidgetItem("数据");

item->setCheckState(Qt::Unchecked);

ui->listWidget->addItem(item);

获取列表列数:

ui->listWidget->count();

判断某项选中:

if(ui->listWidget->item(某一项)->checkState() == Qt::Checked)

获取某一项数据:

ui->listWidget->item(某一项)->text();

六、TableWidget表格控件

设置行号:

ui->tableWidget->setRowCount(10);

设置列号:

ui->tableWidget->setColumnCount(10);

获取光标所在行号:

int sum = ui->tableWidget->currentRow();//第一行为0

插入行:

ui->tableWidget->insertRow(sum+1);//在光标位置下面插入一行

删除行:

ui->tableWidget->removeRow(sum);//删除光标所在行sum

setAlternatingRowColors()             setselectionbehavior()             setsectionresizemode()             rowcount()             columncount()             item()             showrow()             hiderow()

七、状态栏

状态栏上消息显示有三种:临时消息、正常消息和永久消息。

临时消息和正常消息都在左侧显示,容易被覆盖。永久消息在右侧显示,不会被覆盖。

临时消息:

ui->statusBar->showMessage(tr("临时消息"));

ui->statusBar->showMessage(tr("临时消息"),2000);//显示2秒钟

正常消息:

(需要添加标签控件,代码添加)

先在文件中添加类的前置声明: class   QLabel; 然后添加一个私有对象定义: QLabel  * statusLabel; 下面到cpp 文件中,先添加头文件包含: #include   <QLabel> 然后到构造函数中将前面添加的: statusLabel = new QLabel; statusLabel->setMinimumSize(150, 20); //  设置标签最小大小 statusLabel->setFrameShape(QFrame::WinPanel); //  设置标签形状 statusLabel->setFrameShadow(QFrame::Sunken); //  设置标签阴影 ui->statusBar->addWidget(statusLabel); statusLabel->setText(tr(" 状态栏正常消息" )); 永久消息:

使用addPermanentWidget()函数来添加一个如QLabel一样的可以显示信息的部件

构造函数中添加

QLabel   * permanent = new QLabel; permanent->setFrameStyle(QFrame::Box | QFrame::Sunken);

permanent->setText(

  tr("状态栏永久消息"));

permanent->setTextFormat(Qt::RichText); permanent->setOpenExternalLinks(true); ui->statusBar->addPermanentWidget(permanent);

转载请注明原文地址: https://www.6miu.com/read-63446.html

最新回复(0)