小编mos*_*osg的帖子

如何在Qt上加密/加密一些字符串(例如密码)简单

在这里我得到了:

  • Qt SDK版本4.6.2
  • Windows XP

问题:如何简单地加密和加密简单的QString值?我需要这个能够将一些加密的字符串保存到INI文件中,并在重新打开应用程序后加密字符串到正常的密码字符串值.

PS:我看起来很简单,很好的解决方案.

感谢帮助!

encryption qt qt4

19
推荐指数
2
解决办法
3万
查看次数

如何恢复QTreeView上次扩展状态?

是)我有的:

  1. QTreeView 带有表数据的类
  2. 和连接的QAbstractTableModel模型

问题:如何保存扩展的物品状态?有人已经完成了解决方案吗?

PS:我知道,我可以自己做这个代码,但是我没有太多时间,这不是我们项目的主要问题,但我们仍然需要它,因为app包含很多这样的表,并且每次扩展树项都是烦恼的过程...

qt qt4 qtreeview

18
推荐指数
4
解决办法
2万
查看次数

如何为QTreeWidget创建委托?

这是我正在尝试做的事情(所有父母和孩子必须在右边有一个关闭按钮,将来,只有悬停的项目将能够显示**关闭**按钮):

在此输入图像描述

我的代表代码:

class CloseButton : public QItemDelegate
{
     Q_OBJECT

public:
     CloseButton( QObject* parent = 0 )
          : QItemDelegate( parent )
     {};

     QWidget* createEditor( QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index ) const
     {
          if ( index.column() == 1 )
          {
               QToolButton* button = new QToolButton( parent );
               button->setIcon( QIcon( CLOSE_ICON ) );
               //button->setFixedSize( 16, 16 );
               //button->setAutoRaise( true );
               //button->setVisible( true );

               CONNECT( button, SIGNAL( clicked() ), this, SLOT( emitCommitData() ) );

               return button;
          }
          return ( …
Run Code Online (Sandbox Code Playgroud)

c++ qt delegates qt4 qtreewidget

16
推荐指数
1
解决办法
2万
查看次数

如何在QAbstractItemModel和QTreeView类中找到Subitem?

问题:如何在带有方法的QTreeView加载QAbstractItemModel模型中查找子项model->match()

问题:model->match()找不到子项,wtf?!

这是一个例子:

alt text http://www.freeimagehosting.net/uploads/179eee87e3.png

从图中可以看出,我正在尝试Layouts使用以下代码扩展子项:

void Dialog::restoreState(void)
{
    // get list
    QSettings settings("settings.ini", QSettings::IniFormat);
    settings.beginGroup("MainWindow");
    QStringList List = settings.value("ExpandedItems").toStringList();
    settings.endGroup();

    foreach (QString item, List)
    {
        if (item.contains('|'))
            item = item.split('|').last();
        // search `item` text in model
        QModelIndexList Items = model->match(model->index(0, 0), Qt::DisplayRole, QVariant::fromValue(item));
        if (!Items.isEmpty())
        {
            // Information: with this code, expands ONLY first level in QTreeView
            view->setExpanded(Items.first(), true);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

settings.ini文件包含:

[MainWindow] …
Run Code Online (Sandbox Code Playgroud)

qt qt4 qabstractitemmodel

13
推荐指数
1
解决办法
2万
查看次数

如何在本地不需要文件的情况下创建InstallShield MSI?

大家好,美好的一天!

问题:我在MSVC2010中创建了一个Basic InstallShield项目,添加了一些文件和主要输出并按下构建.项目正常编译:创建了MSI,setup.exe,setup.ini和(WTF?!)文件的本地目录结构,我正在尝试安装(例如,"Program Files\My Company\app.exe, ......"文件被复制到那里".我认为这不是必需的文件夹,因此将我的安装文件(MSI,setup.exe,setup.ini)复制到另一个文件夹并开始安装.当安装过程进行复制状态时,安装程​​序给了我错误,没有找到所需的文件(app.exe,...).

有人解决了这个问题吗?我认为这很简单.

谢谢!

installshield

11
推荐指数
2
解决办法
1万
查看次数

在Qt4上使用POST方法上传文件

我正在寻找如何使用Qt上的HTTP POST方法将文件上传到服务器的基本代码示例.

我的任务:我有简单的Qt程序,我需要从本地主机中选择任何图像文件并将其上传到服务器.选择部分和GUI很简单,我已经完成了,但是使用POST上传我很困惑.另外我不得不说,没有授权上传文件.

如果有人已经看过这个主题了?

PS:我之所以要求而不是自我编码的原因是时间,我需要快速获得这种方法.

谢谢,我方的所有成功解决方案都将在此处发布给其他人.

补充:这是我的代码,但还不行.上传网站位于此处.

void    CDialog::on_uploadButton_clicked() {

    QFileInfo fileInfo(absPathLineEdit->text());

    if (!fileInfo.exists()) {
        QMessageBox::information(this, 
            tr("Information"), 
            tr("File doesn't exists! Please, select another image."));
        return;
    }

    file = new QFile(fileInfo.filePath());
    if (!file->open(QIODevice::ReadOnly)) {
        QMessageBox::information(this,
            tr("Information"),
            tr("Unable to open file for reading!"));
        return;
    }

    QString host = "http://data.cod.ru";

    QUrl url(host);

    QHttp::ConnectionMode mode = QHttp::ConnectionModeHttp;
    http->setHost(url.host(), mode, (url.port() == -1) ? 80 : url.port());

    QHttpRequestHeader header("POST", "/", 1, 1);
    header.setValue("Host", "data.cod.ru");
    header.setValue("Content-type", "multipart/form-data, boundary=AaB03x");
    header.setValue("Cache-Control", "no-cache");
    header.setValue("Accept", …
Run Code Online (Sandbox Code Playgroud)

upload post qt

7
推荐指数
2
解决办法
2万
查看次数

C中的XML签名验证库?

C语言中是否有可用的库来验证XML签名?我只能从http://santuario.apache.org/cindex.html找到一个C++库.

c xml verification xmlsec xml-signature

5
推荐指数
1
解决办法
2313
查看次数

如何使用Qt Visual Studio外接程序将Icon设置为Qt应用程序?

这是我有的:

  • Visual Studio 2008(在32位Windows XP上)
  • 用于Windows的Qt库4.6.2(VS 2008,194 MB)
  • Visual Studio加载项(44 MB)

安装完所有软件后,我使用Visual Studio 创建了简单的Qt Application项目:menu File | 新的| 项目......Qt4项目| Qt申请.

构建它,这是一个问题:如何将应用程序图标设置为我编译的exe文件?我需要在资源管理器中看到指定的ICO!


MyProject.pro的旧方法不感兴趣!!!

  1. 使用16x16和32x32像素版本的图标创建.ico文件(可以在Visual Studio中执行此操作).

  2. 创建包含以下文本的.rc文件:

    IDI_ICON1 ICON DISCARDABLE"myIcon.ico"

  3. 将以下内容添加到.pro文件中

    RC_FILE = myFile.rc

  4. 运行qmake.

谢谢.

qt qt4 ico

5
推荐指数
2
解决办法
1万
查看次数

如何使用自定义(不可编辑)委托创建模型/视图QTableView?

这里就是我试图让(这是一个QTableView小部件+ MVC基于QAbstractTableModel与多代表):

在此输入图像描述

笔记:

  • 代表不是编辑,他们只是观众!我没有用这个表视图编辑模型.

  • 代表必须是可实现的.这意味着蓝色行的所有总高度可以是25px或250px.

  • MV是简单的数据:

    1ROW:CompanyName1 Name1,Name2,Name3 OTHER DATA

    2ROW:CompanyName2 SingleName1 OTHER DATA

    3ROW:CompanyName3 Name1,Name2 OTHER DATA等等......

题:

  • 是否可以创建自定义委托(QItemDelegate,或QStyleItemDelegate),例如,如上图所示,到第二列?如果可能的话,也许你可以给我一些例子或资源链接,我可以在哪里查看它们.

PS.是的,我已经与代表一起查看了所有Qt演示示例,但我只是不明白,如何做我想要的.

PSS.QTableView- > setIndexWidget()我觉得这不是个好主意.但是QTableView- > setItemDelegateForColumn( myCustomDelegate )方法更好!

P3S.我不是在找QTableWidget班级的解决方案......

谢谢您的回复!:-)


更新#1:

  • 我觉得:

    • 委托仅用于编辑(例如,如果我们使用模型/视图对象)并管理类似的项目(全部/只是列/只是行).

    • 自定义小部件更好,但我没有在免费的Qt项目中遇到它们.获得这种小部件的漂亮和正确的代码并不容易......


加成:

  • 这是相似性问题的链接.

qt delegates qt4 qtableview

5
推荐指数
1
解决办法
3007
查看次数

如何使restoreState()和saveState()正确地工作到QTableView类?

首先,我想说,我的问题已经在这里讨论了,在SO上,就在这里.但答案不是好的......

所以,问题出在这里:我有一个QTableView类,一个简单的model,与tableView->setModel(model);方法相关的.例如,我有4-5列.我启动了我的项目应用程序并使用列宽进行了一些更改.按下Exit后,我的项目应用程序将tableView->horizontalHeader()->saveState();数据状态保存QSettings到文件.当我再次启动我的应用程序时,它会产生以下内容:

tableView->horizontalHeader()->restoreState(/* data from settings ini file */);
Run Code Online (Sandbox Code Playgroud)

但是,没有任何反应!列宽度具有标准宽度.它们不会随我的存储值而改变!:(

谢谢!


PS:这个问题在QTreeView课堂上并不明显.随着QTreeView一切都OK!

qt restore save qtableview

4
推荐指数
1
解决办法
8260
查看次数