字符串与数值转换

QString常用功能

SpinBox


其他数字输入和显示组件

日期与字符串之间的转换



QDateTime curDateTime = QDateTime::currentDateTime();
curDateTime.toString("yyyy-MM-dd hh:mm:ss");
QTime time = QTime::fromString(str,"hh:mm:ss");
QDate dt = ui->calendarWidget->selectedDate();
QComBox和QPlainTextEdit

- 以换行符分隔块
QIcon icon(":\1.ico");
ui->comboBox->addItem(icon,"item");
//创建右击菜单
void Widget::on_plainTextEdit_customContextMenuRequest(const QPoint& pos)
{
QMenu* menu = ui->plainTextEdit->createStandardContextMenu();
menu->exec(QCurson::pos());
}
QListWidget和QToolButton



MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setCentralWidget(ui->splitter);
//Action就像个button,里面有图标,文本,也可以触发事件
ui->tBtnListIni->setDefaultAction(ui->actListIni);
ui->tBtnListClear->setDefaultAction(ui->actListClear);
ui->tBtnListAppend->setDefaultAction(ui->actListAppend);
ui->tBtnListInsert->setDefaultAction(ui->actListInsert);
ui->tBtnListDelete->setDefaultAction(ui->actListDelete);
ui->tBtnSelALL->setDefaultAction(ui->actSelALL);
ui->tBtnSelNone->setDefaultAction(ui->actSelNone);
ui->tBtnSelInvs->setDefaultAction(ui->actSelInvs);
QMenu* menu = new QMenu(this);
menu->addAction(ui->actSelALL);//给menu增加Action
menu->addAction(ui->actSelNone);
//menu->addAction(ui->actSelNone);如果写两次,仍然只绑定一次
ui->actSelPopMenu->setMenu(menu);//向Action增加菜单,只有这样,才有下拉
ui->mainToolBar->addAction(ui->actSelPopMenu);//向工具栏添加Action
ui->tBtnSelectItem->setDefaultAction(ui->actSelPopMenu);
ui->mainToolBar->addSeparator();
ui->mainToolBar->addAction(ui->actQuit);
}
void MainWindow::on_actListIni_triggered()
{
ui->listWidget->clear();
QListWidgetItem* item;
QIcon icon(":/images/icons/check2.ico");
bool chk= ui->chkBoxListEditable->isCheckable();
for(int i=0;i<20;++i)
{
QString str=QString::asprintf("item %d",i);
item = new QListWidgetItem(str);
item->setIcon(icon);
item->setCheckState(Qt::Checked);
if(chk)
{
item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEditable|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);
}
else
{
item->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);
}
ui->listWidget->addItem(item);
}
}
QTreeWidget和QDockWidget


QPixmap curPixmap;
curPixmap.load(filename); //从文件载入图片
on_actZoomFitH_triggered(); //自动适应高度显示
//缩小显示
pixRatio=pixRatio*0.8; //在当前比例基础上乘以0.8
int w=pixRatio*curPixmap.width();// 显示宽度
int h=pixRatio*curPixmap.height();//显示高度
QPixmap pix=curPixmap.scaled(w,h); //图片缩放到指定高度和宽度,保持长宽比例
ui->LabPicture->setPixmap(pix);
QTableWidget


- 其实所有的item容器都是modul的简化版本
ui->tableInfo->resizeRowsToContents();//根据内容调节行高
ui->tableInfo->resizeColumnsToContents();//根据内容调节列宽
//双击或获取焦点后单击,进入编辑状态
ui->tableInfo->setEditTriggers(QAbstractItemView::DoubleClicked | QAbstractItemView::SelectedClicked);
//行的底色交替采用不同颜色
ui->tableInfo->setAlternatingRowColors(checked);
//选择行为:单元格选择
ui->tableInfo->setSelectionBehavior(QAbstractItemView::SelectItems);
//选择行为:行选择
ui->tableInfo->setSelectionBehavior(QAbstractItemView::SelectRows);
//是否显示水平表头
ui->tableInfo->horizontalHeader()->setVisible(checked);
//是否显示垂直表头
ui->tableInfo->verticalHeader()->setVisible(checked);
QDate birth;
birth.setDate(1980,4,7);//初始化一个日期
birth=birth.addDays(20); //日期加20天
//是否显示垂直表头
ui->tableInfo->verticalHeader()->setVisible(checked);
QDate birth;
birth.setDate(1980,4,7);//初始化一个日期
birth=birth.addDays(20); //日期加20天
//是否显示垂直表头
ui->tableInfo->verticalHeader()->setVisible(checked);
QDate birth;
birth.setDate(1980,4,7);//初始化一个日期
birth=birth.addDays(20); //日期加20天

被折叠的 条评论
为什么被折叠?



