4 常用界面设计组件

字符串与数值转换

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天

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值