QT控件
2014年11月28日
所有带有边框的部件的基类。
用于调整边框效果。
具有自动补全功能。
可以被具有编译功能的控件使用。
微调日期时间。
可以设置样式。
setIcon():设置图片。
单选按钮,复选按钮。
放在QButtonGroup或者QGroupBox中组成一组。
示例:
connect(ui->checkBox,SIGNAL(clicked(bool)),this,SLOT(displaySize()));
connect(ui->radioButton_21,SIGNAL(clicked()),this,SLOT(selectResample()));
void MainWindow::selectResample ()
{
qDebug()<<"sample";
if(ui->radioButton_21->isChecked ()){
m_strResample ="nearest";
}
elseif(ui->radioButton_22->isChecked ()){
m_strResample ="bilinear";
}
}
QTableView是QTableWidget的基类。
设置行、列数目:setRowCount(),setColumnCount()。
删除行、列:removeRow()、reomveColumn()。
设置水平表头:setHorizontalHeadLabels()。
设置垂直表头:setVertialHeadLabels()。
设置编辑方式:setEditTriggers()。
设置选中方式:setSelectionBehavior()。
获取选中内容:处理相关的信号。
获取/设置表中单元格:cellItem()/setCellItem()。
获取/设置表中单元格Widget:cellWidget()/setCellWidget()。从而可以使表中单元格可以添加任意类型的widget。
参考:http://blog.csdn.net/xgbing/article/details/7774737
示例:初始化表
QStringList lstHeader;
lstHeader<<tr("outputfile")<<tr("size")<<tr("status")<<tr("outputtype")<<tr("worldfile")<<tr("resample");
ui->tableWidget->setRowCount (0);
ui->tableWidget->setColumnCount (lstHeader.size ());
ui->tableWidget->setHorizontalHeaderLabels (lstHeader);
示例:获取表中单元格的widget
QProgressBar *pBar= (QProgressBar *)ui->tableWidget->cellWidget (iRow,iCol);
示例:向表中添加进度条
if(2==i)//addprogress bar
{
QProgressBar *pProgressBar = new QProgressBar(ui->tableWidget);
ui->tableWidget->setCellWidget (0,i,pProgressBar);
}else
{
QTableWidgetItem *pItem = new QTableWidgetItem(lstText[i]);
ui->tableWidget->setItem (0,i,pItem);
}
参考:http://qt-project.org/forums/viewthread/15549
添加项:addItem()
删除项:takeItem();removeItemWidget();记得要delete item。
修改项:首先将item设置为可编辑(pItem->setFlags(Qt::ItemIsEnabled|Qt::ItemIsEditable)),然后将使用editItem(pItem)。
获取选中项:处理相关信号。
添加项:addItem()
删除项:removeItem()。
修改项:setItemText()。
获取选中项:处理相关信号。或直接使用currentText()。
添加项:在布局中添加项。
布局:setLayout()可以用于添加布局。
用于设置单选按钮为一组。
用于将子控件大小变为可以拖动,并统一布局。
添加子部件:以splitter为父控件,或者addWidget。
设置切分方法:setOrientation();
用于不同页面的切换。
添加页面:addTab()。
删除页面:removeTab()。
切换页面:setCurrentTab()。
获取当前页面:CurrentIndex(),currentWidget()。
滑块控件。
设置范围:setRange()。
设置刻度间隔:setTickInterval()。
设置步进值:setPageStep(),setSingleStep()。
获取当前值:value();处理valueChanged信号。
微调控件。
设置范围:setRange()。
设置步进值:setSingleStep()。
获取当前值:value();处理valueChanged信号。
树状列表框。
首先要设置col宽度。
添加Root:addTopLevelItem()。
添加subItem:以RootItem为父Item构造。
当前选中项:currentItem()。
进度条。
设置进度:setValue()。
获取当前进度:value()。
示例:
pBar->setValue (iProgress);
return pBar->value ();
验证器,用于输入验证。
通过时触发editingFinished、returnPressed,不通过时无效。
可以通过派生于QValidator的类,实现validate()函数来实现验证输入信息。可以返回明确的同意或拒绝,当未完成输入时,返回不确定。