RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-230392

Александр Муксимов's questions

Martin Hope
Александр Муксимов
Asked: 2020-09-30 16:12:01 +0000 UTC

Qt:根据某些参数动态控制自定义元素的可见性

  • 1

给定:具有多个按钮的 Qt 应用程序QPushButton,上下文按钮QMenu绑定到多个QTableView,附加元素QAction也很多,其可见性取决于 QTableView 的上下文。这一切都很好。

但是,有必要从用户类型控制所有这些元素的可见性,这是​​在程序启动时确定的。

问题是,如何通过对原始程序的最小更改更容易做到这一点?

到目前为止,我唯一能看到的就是根据用户类型的数量制作几个列表,并在构造函数中将控件提前填充到这些列表中。setVisible(true/false)然后在需要使用具有QPushButton和的函数来控制元素的可见性时分析属于这些列表QAction。不过,麻烦的是,他们并没有共同的祖先,与setVisible。我真的不想为QPushButtonand创建多个单独的列表QAction。Qt中没有更简单的方法来解决这个问题吗?

qt
  • 1 个回答
  • 10 Views
Martin Hope
Александр Муксимов
Asked: 2020-06-17 14:11:08 +0000 UTC

实现不是从数据库而是从 XML 文件接收数据的 QSqlQueryModel 类似物的最简单方法是什么?

  • 0

鉴于:

表单上有一个tableViewDocuments类型的表TableView,使用 DataSet

QSqlQueryModel* pMdl = p_DB_PostgressProcessor->CreateOutPutDocList(Id);
ui.tableViewDocuments->setModel( pMdl );

函数CreateOutPutDocList()有这样一个实现的地方

QSqlQueryModel* DB_PostgressProcessor::CreateOutPutDocList(const QString& id)
{
       QString queryStr = "SELECT doc_number, name, date, description FROM bd_fp.document WHERE 
                           id=:id ORDER BY name;";

       QSqlQueryModel* pMdl = new QSqlQueryModel();
       QSqlQuery query(m_DB);

       query.prepare(queryStr);

       query.bindValue(":id", id);

       if (!query.exec())
       {  
            QSqlError err = query.lastError();
            mLogger.AddMessage(err.text());
            return pMdl;
       }

       pMdl->setQuery(query);

       return pMdl;
   }

一切都很好。但是,现在需要创建一个没有数据库的独立应用程序,它使用 XML 文件作为数据源。

问题是,用最少的修改来做到这一点的最简单方法是什么?

在从头开始编写模拟类(从QSqlQueryModelXMLQAbstractItemModel文件获取数据并支持所有功能QSqlQueryModel)之前,我想听听聪明人的建议——这可能已经完成,以及他们是如何解决类似问题的。

不需要编辑表中的数据,仅用于查看。XML 文件的结构没有限制,您可以按照自己的方式制作。

c++
  • 1 个回答
  • 10 Views
Martin Hope
Александр Муксимов
Asked: 2020-04-13 20:02:10 +0000 UTC

我无法与 MS Visual Studio 2015 和 QT 5.12.2 交朋友

  • 0

给定:已安装MS Visul Studio 2015

必需:在其中安装插件,以便您可以在其上开发应用с++程序QT 5.12

做了什么:

官方Qt.io安装站点QT提供下载MaintEnance_Tool、注册并在其帮助下安装所需的扩展程序,这已完成。在可用的可启动项列表中,最新版本是QT 5.12 msvc2015_64,被选择安装(我阅读了 5.6 版,但没有提供)。

安装完成后MS Visual Studio出现一个标签页QT VS Toools,所有开发工具都启动成功,在新项目的“向导”栏目С++中,出现了项目的空白列表QT。

接下来,在变量的环境变量中Path,添加了路由C:\Qt\5.12.2\msvc2015_64\bin;,添加了变量QTDIR=C:\Qt\5.12.2\msvc2015_64\。

之后,在项目的“向导”中创建了一个测试项目“QT 控制台应用程序”,将头文件和库的路径添加到 VC 目录选项卡中的项目属性中(工作室没有看到它没有这个#include <QtCore/QCoreApplication>),并且启动程序进行编译,导致了令人沮丧的结果:

在此处输入图像描述

我不知道该怎么办。谷歌没有帮助。

以防万一,qt_vars.targets她发誓的文件片段

<!--// Read variables from Makefile -->
    <GetVarsFromMakefile
      Makefile="$(QtVarsWorkDir)\Makefile" VarDefs="@(QtVarDef)" ExcludeValues="$(QtVarsWorkDir)">
      <Output TaskParameter="OutVars" ItemName="QtVar"/>
    </GetVarsFromMakefile>

如何解决这个问题并使 MS Visual Studio 2015 与 QT 一起工作?

PS:使用本指南https://www.youtube.com/watch?v=TfEttsC1vEA,我再次重新安装了所有内容(Visual Studio 除外)并按照此处所述的步骤安装了 QT 5.6。没有改变。该项目拒绝使用相同的消息一一编译。

qt5
  • 1 个回答
  • 10 Views
Martin Hope
Александр Муксимов
Asked: 2020-03-28 17:19:14 +0000 UTC

完整的磁盘空间

  • 2

问题:目录很快就会被垃圾填满

C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5

环境:Windows 7,互联网浏览器 - Google Chrome

这里https://blog.paessler.com/how-to-get-rid-of-huge-default-userlocal-settingstemporary-internet-filescontentie5-folders描述了原因并给出了“胡同里的废话”式的解决方法:

del \q\s "C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\*"

然而,这是与已经发生的后果的斗争。我想解决问题的根源。我没有在任何地方安装任何“整页传感器”。在正常配置中使用“Google Chrome”。Microsoft Internet Explorer 未在任何地方明确使用。

如果有人知道控制此过程并消除问题根源的魔术标志配置,我将不胜感激。

windows
  • 1 个回答
  • 10 Views
Martin Hope
Александр Муксимов
Asked: 2020-09-25 17:22:41 +0000 UTC

JPEG解码

  • 3

告诉我一个免费分发的库(与 Windows 兼容)或从 JPEG 文件中提取量化余弦系数的源。这是逆 JPEG 解码(霍夫曼编码到 DCT 系数)的第一步。我知道算法如何做到这一点,但我真的不想重新发明轮子并浪费时间测试自制程序。

c++
  • 1 个回答
  • 10 Views
Martin Hope
Александр Муксимов
Asked: 2020-12-08 15:00:35 +0000 UTC

c# WinForms:添加拖放后调用上下文菜单的问题

  • 7

TreeView为窗体上的对象启动上下文菜单时出现问题。用户左键单击树中的某个元素后,需要双击鼠标右键以显示上下文菜单。这对客户来说非常烦人。

treeView在标准 MicroSoft 工具实现的拖放过程中开始将其用作表单上的数据源后,问题就出现了。

以下代码已添加到点击处理程序中:

private void treeView_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == System.Windows.Forms.MouseButtons.Left)
    {
        TreeNode node = treeView.GetNodeAt(e.X, e.Y);

        if (node != null)
        {
            // ... некоторые предварительные вычисления, 
            // не влияющие на элементы формы, а меняющие Tag у node

            //Проблемы появились после добавления этой стандартной функции от MicroSoft
            treeView.DoDragDrop(node, DragDropEffects.Copy); 

            //Это старый код, который должен остаться и при котором все работало
            treeView.SelectedNode = node;
        }
    }
}

拖放本身的处理没有问题。

如果它很重要,则treeView_AfterSelect不会实现用信息填充表单元素的处理程序。

private void treeView_AfterSelect(object sender, TreeViewEventArgs e)
{
    TreeNode currentNode = treeView.SelectedNode;
    if (currentNode != null)
    {
        FillAll(currentNode);
    }
}

请告诉我如何在不实现自己的拖放的情况下解决这个问题,或者如何向客户解释这不是DoDragDrop()MicroSoft 实现中的错误,而是一个功能。

对这种罕见现象的详细研究表明,要停止程序,DoDragDrop()仅松开鼠标左键是不够的。treeView_MouseUp()使用标准处理程序的处理程序DoDragDrop()不会响应它。

2016 年 12 月 26 日更新:根据要求,我添加了处理 DragDrop 过程事件的代码:

1) 以下处理程序附加到ListBox lstBxForSearch;作为 DragDrop 接收器的控件的 DragEnter 事件:

private void lstBxForSearch_DragEnter(object sender, DragEventArgs e)
{
    // Предварительно сбрасываем флаг допустимости использования контрола lstBxForSearch,
    // как приемника процедуры DragDop
    e.Effect = DragDropEffects.None;

    // Устанавливаем этот флаг, если объект, который тянем, может быть принят 
    // контролом lstBxForSearch, то есть источником служит контрол treeView 
    if (e.Data.GetDataPresent(typeof(TreeNode)))
    {
        TreeNode node = e.Data.GetData(typeof(TreeNode)) as TreeNode;
        if (node != null && node.TreeView == treeView)
        {
            //Допустимый источник 
            e.Effect = DragDropEffects.Copy;
        }
    }
}

ListBox lstBxForSearch;2)以下处理程序附加到DragDrop 事件:

private void lstBxForSearch_DragDrop(object sender, DragEventArgs e)
{
    //Анализируем, что принесли на мыше
    TreeNode node = e.Data.GetData(typeof(TreeNode)) as TreeNode;
    if (node == null) 
        return;
    addPlantToSearchList(node);
}

相应地

private void addPlantToSearchList(TreeNode currentNode)
{
    PlantExtendTag tg = currentNode.Tag as PlantExtendTag;
    if (tg == null) 
        return;

    MyDS.PlantShort_ViewRow plantRow = tg.PlantRow;

    if ((TacsonomyLeve)plantRow.LevelNum == TacsonomyLeve.Kind)
    {
        lstBxPlantsForSearch.Items.Add(new NameId(plantRow.Id, currentNode.Text));
    }
    else
    {
        toolStripStatusLabel.Text = "Расширенный поиск предусмотрен только по пересечению видов";
    }
}
c#
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5