问题标签 [qt4.8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8827 浏览

qt - QListView 项的拖放

请帮我解决这个问题....我QListView在左侧有一个QWidget,在另一侧有一个。在QListView我使用QStandardItem. 现在我想将项目拖放QListView到另一边QWidget,我也必须这样做QWidgetQListView我可以通过使用将我的项目拖放到自身内部QListView

这仅在 QListView 内工作正常。我想将 QListView 项目拖放到另一个小部件。我怎样才能做到这一点?我知道我必须像这样处理事件

我只是这样尝试

正如我刚刚尝试使用一些qDebug() 一样当我从我的项目中拖动一个项目QListView并将其放入其中QWidget 并将输出作为"Items Dropped"时,这是有效的。但我不知道如何将我的确切QListView物品带到这里。

0 投票
3 回答
5626 浏览

qt - 检测 QMainWindow / QDialog (Qt 4.8) 的移动结束

我在 X11 上使用 Qt 4.8.3。

我需要知道用户何时结束在屏幕上拖动窗口,以便读取最终位置并最终启动动画以将窗口位置调整为“允许”位置。

我注意到QWidget::moveEvent每个小动作都会调用 ,但这非常不方便,因为我必须在用户释放鼠标按钮并且移动完全完成时才执行位置检查(并最终启动动画)。

这是真正的问题:当用户单击标题栏时,似乎没有办法检测鼠标释放事件(或获取鼠标按钮状态),因为它是由操作系统而不是 Qt 控制的。我也尝试了QWidget::x11event(XEvent* e)...但是事件只收集在窗口内,而不是标题栏。

有人知道实现这一目标的方法吗?

我怀疑我将不得不自己重新实现标题栏……太糟糕了……</p>

0 投票
1 回答
5575 浏览

qt4 - Qt - 如何设置从 64 开始而不是从 0 开始的 QTableWidget 行索引?

0 投票
0 回答
544 浏览

c++ - QLabel wordWrap 设置产生意外的 sizeHint

下面是一个非常简单的 Qt ui 文件来显示我的问题。(在 Windows 7 64 位上使用 Qt 4.8.0)

要重现该问题,请在 Windows 上的设计器中加载文件(也可能在其他操作系统上发生)并按 ctrl+R 以显示文件描述的对话框。开始在编辑字段中输入,然后抓住右下角来调整对话框的大小。对话框的大小将弹出以适合标签的预期新文本。出乎意料的是,标签底部有可变数量的空间,具体取决于您在行编辑中输入的乱码(有时更多,有时更少)。

当 wordWrap QLabel 基本上具有固定宽度时,为什么它会对它应该有多高感到困惑?

测试.ui

0 投票
1 回答
77 浏览

python - 如何从在 PyQt4 中保持焦点的子小部件传递菜单快捷方式?

我有一个带有菜单栏的QMainWindow ,包括使用常用快捷方式保存、打开和退出的菜单项。它创建了一个 QTableWidget,其中列出了用户可以选择的一堆不同类别(由他选择)。

如果用户单击QTableWidget以更改类别,则该小部件将获得焦点。这主要是我想要的,但不幸的是,它似乎窃取了菜单快捷方式,因此按下 Ctrl+S 不再触发保存。

我尝试keyPressEvent解决这个问题,但即使我确实让它工作,它似乎也有点过头了。没有办法将所有控制/菜单键委托给QMainWindow吗?

0 投票
2 回答
2645 浏览

c++ - 在鼠标下获得 QWidget 像素颜色的最快方法是什么?

我需要在mouseMoveEventQWidget(面包板)内获取鼠标下像素的颜色。目前我有这个代码->

看看下面的(按比例缩小的)屏幕截图 -

在此处输入图像描述

当用户在面包板上移动鼠标时,孔应该以不同的颜色突出显示(如红色圆圈)。并且当鼠标退出时,应该恢复以前的颜色(灰色)。所以我需要做以下步骤 -

  1. 在鼠标下获取颜色
  2. 根据颜色,洪水填充孔。(不同的孔用颜色区分)
  3. 鼠标移出时,恢复颜色。会有电线穿过孔,所以我不能只更新小矩形(孔)。

最快的方法是什么?我提取颜色的尝试不起作用,即上面代码中的消息框永远不会显示。此外,我怀疑我现有的代码是否足够快以满足我的目的。请记住,在面包板上移动鼠标的速度有多快。

注意 - 我可以使用 wxWidgets 框架来做到这一点。但由于一些问题,该项目停滞不前。我现在正在使用 Qt 重写它。
邀请您查看代码https://github.com/vinayak-garg/dic-sim

0 投票
2 回答
1944 浏览

c++ - 如何准确知道用户何时展开 QTreeView 项目?

有没有办法准确地知道用户何时开始展开操作,比如单击 QTreeView 中的展开箭头?

对于他双击的情况,我可以捕捉到双击事件。

我尝试void expand(const QModelIndex &index);从 QTreeView 重新实现这个插槽,但它似乎不起作用。

在 QTreeView 中调用了一个信号void expanded(const QModelIndex &index);,但它似乎是在扩展发生后发送的。

我正在使用 QT 4.8.2

0 投票
1 回答
6230 浏览

qt4 - Qt - Windows 7 基本主题下禁用 QPushButton 的样式表

我可以使用StyleSheets更改QPushButton字体和字体颜色。问题是在旧的 Windows 主题下,禁用的按钮显示阴影字体,但我不知道如何通过 StyleSheets 摆脱这个阴影前面。任何人都可以请提出你的想法。提前致谢。

0 投票
1 回答
2681 浏览

linux - Linux 上的 Qt 4.8.3 GUI 应用程序看起来很旧并且与设计器预览不匹配

我在 Fedora 17 和 Ubuntu 12.04 上安装了 Qt 4.8.3 和 Qt Creator 2.5.2。当我创建一个 GUI 应用程序时,视觉元素在 Qt Designer 预览窗口中看起来不错。但是,当我运行应用程序时,生成的应用程序的样式较旧,与操作系统不一致,并且与 Qt 设计器中的预览不匹配。

在下面的两个图像中,顶部是来自 Qt Designer 的预览,底部是编译后的应用程序。

有没有办法让编译好的 GUI 应用程序正确显示?

软呢帽:

  • 上半部分 = Qt Designer 预览版(需要)
  • 下半部分 = 生成的应用程序

在此处输入图像描述

Ubuntu:

  • 上半部分 = Qt Designer 预览版(需要)
  • 下半部分 = 生成的应用程序

在此处输入图像描述

附录: 这是一个显示 4.8.1 编译应用程序的图像(它应该是什么样子) 在此处输入图像描述

此外,如果我在同一台计算机上同时安装 4.8.1 和 4.8.3,即使 4.8.1 编译的应用程序也不会正确显示: 在此处输入图像描述

0 投票
1 回答
1361 浏览

qt - 如果我多次连接相同的插槽,该插槽会被多次调用吗?

如果我将同一信号与同一插槽连接两次,这会导致错误吗?例如,当信号发出时,插槽会被调用两次?