QT20190312总结

这篇博客主要探讨了QT框架中的多个关键组件,包括QAbstractListModel、QCompleter、QDateEdit等,并介绍了它们在实际编程中的应用。此外,还提到了编程规范和未处理的QT问题,为QT开发者提供了组件运用的指导。
摘要由CSDN通过智能技术生成
  • QAbstractListModel
  • QCompleter
//效果,当输入worldList这些单词首字母,会自动补全,且可通过Up和Down来选择补全的单词
QStringList wordList;
wordList << "alpha" << "omega" << "omicron" << "zeta";

QLineEdit *lineEdit = new QLineEdit(this);

QCompleter *completer = new QCompleter(wordList, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);

lineEdit->setCompleter(completer);


- QCompleter的模型提供

QStringList strList;
wordList << "alpha" << "omega" << "omicron" << "zeta";

QCompleter *completer = new QCompleter(this);
QStringListModel *model = new QStringListModel(strList,completer);
completer->setModel(model);

//如果需要更新
static_cast<QStringListModel *>(completer->completer()->model())->setStringList(strList);
  • QDateEdit
  • QKeyEvent
//QKeyEvent可以得到键盘上任何键(组合按键不在此描述)
void HintList::keyPressEvent(QKeyEvent *ev)
{
    if(ev->key() == Qt::Key_Down)
    {
        this->setCurrentRow(this->currentRow() + 1);
        timer->stop();
        timer->start();
    }
    else if(ev->key() == Qt::Key_Up)
    {
        this->setCurrentRow(this->currentRow() - 1);
        timer->stop();
        timer->start();
    }
    else if(ev->key() == Qt::Key_Enter || ev->key() == Qt::Key_Return)
    {
        emit sigKeyEnter(this->currentItem()->text());
        this->close();
    }
}
  • QListView
  • QListWidgetItem
  • QModelIndex
QModelIndex类定位数据在模型中的位置(必须有行和列,可能有父索引).
可以通过索引访问views、delegate和selection模型中的数据.
  • QPlainEdit
  • QScrollBar
QScrollBar的一个完整样式记录:
QScrollBar:vertical//首先是设置主体
{
    margin:30px 0px 30px 0px;
    background-color:#F0F1EF;
    border: 0px;
    width:30px;    
}
QScrollBar::handle:vertical//滑块
{
    background-color:#bbbbbb;
    width:30px;
    border-radius:7px;//圆角
}
QScrollBar::handle:vertical:hover
{
    background-color:#9B9B9B;
    width:30px;
    border-radius:7px;
}
QScrollBar::add-line:vertical//为滚动条下面的箭头区域
{
    subcontrol-origin: margin;
    border:1px solid rgb(240,241,239);
    height:30px;
}

QScrollBar::sub-line:vertical//为滚动条上面的箭头区域
{
   subcontrol-origin: margin;
    border:1px solid rgb(240,241,239);
    height:30px;
}
QScrollBar::add-page:vertical//表示未滑过的槽部分
{
  background-color:rgb(240,241,239);
}

QScrollBar::sub-page:vertical //表示已滑过的槽部分
{
    background-color:rgb(240,241,239); 
}
QScrollBar::up-arrow:vertical//箭头
{
  border:0px;
  width:30px;
  height:30px;
  border-image:url(":/Icons/up_Arrow.png");
}

QScrollBar::up-arrow:vertical:pressed
{
    border:0px;
    width:30px;
    height:30px;
    border-image:url(":/Icons/up_Arrow_down.png");
}
QScrollBar::down-arrow:vertical
{
    border:0px;
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用zlib授权。截至2007年3月,zlib是包含在Coverity的美国国土安全部赞助者选择继续审查的开源项目。 qlibzip 是基于zlib的一个实用程序库,使用Qt和Windows一些底层API实现,它主要用于将文件夹压缩到一个zip文件,或将一个zip文件解压缩到文件夹。 //------------------------------------------------------------------------------ // Description: Compress files to a ZIP file. // Parameter: sourceFiles Source files, supporting wildcards. // Parameter: destFile The ZIP file path. // Return Value: true/false. //------------------------------------------------------------------------------ extern "C" bool ZipCompress(const QString &sourceFiles, const QString &destFile); //------------------------------------------------------------------------------ // Description: Extract files from a ZIP file. // Parameter: sourceFile Source ZIP file. // Parameter: destFolder The folder to output files. The parent of the // specified folder MUST exist. // Return Value: true/false. //------------------------------------------------------------------------------ extern "C" bool ZipExtract(const QString &sourceFile, const QString &destFolder); //------------------------------------------------------------------------------ // Description: Extract special file from a ZIP file into memory block. // Parameter: sourceFile Source ZIP file. // Parameter: entryName Special entry name in ZIP file. // Return Value: Extracted memory block. //------------------------------------------------------------------------------ extern "C" QByteArray ZipExtractItem(const QString &sourceFile, const QString &entryName); 具体实例请看demo文件夹。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值