问题标签 [qtgui]

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 回答
9616 浏览

qt - Qt如何画圆弧?

考虑下图:

我有关于两条线的中心点、它们之间的角度以及两条线的长度的信息。

问题是从底线的末端开始画一条弧线并接触上面的斜线(如下所示的方式)

我看到了Qt的这些画弧功能:http:
//qt-project.org/doc/qt-5.1/qtgui/qpainter.html#drawArc

这些函数需要一个矩形作为参数,而我没有。

我应该如何使用这些函数来绘制如上所示的弧线?

0 投票
0 回答
55 浏览

c++ - 如何为 Qt 应用程序创建扩展

有这个指南:http: //qt-project.org/doc/qt-4.8/plugins-howto.html

它完全没用,因为它缺少太多重要信息。然而,经过几个小时的研究,我想出了如何到达某个地方:

接口.h源代码:https ://github.com/huggle/huggle3-qt-lx/blob/master/huggle/iextension.h

以及插件的.h:https ://github.com/huggle/extensions/blob/master/c%2B%2B/HelloWorld/HelloWorld/helloworld.h

我设法为插件创建了一个接口并将宏应用到它,然后我创建了一个插件,但是作为示例插件应该从接口继承,我显然需要以某种方式从我的项目中包含 .h 文件。我这样做了,然后我使用 QPluginLoader 来加载 .so 文件。

但是我得到了这个:

这是有道理的,库(我在其中#include 我的项目的 .h 文件)显然缺少对我的应用程序二进制文件的引用以解决它,但我该如何给它呢?我应该复制应用程序的二进制文件,将其重命名为 something.so 并将其放入 /lib 之类的吗?或者我应该怎么做?

0 投票
2 回答
8300 浏览

c++ - Qt 5.1 带有共享 QGLWidgets 的线程化 OpenGL

我使用两个 QGLWidget。一个用于加载纹理,一个用于渲染,但它不起作用。

我使用了来自http://blog.qt.digia.com/blog/2011/06/03/threaded-opengl-in-4-8/的以下解释

纹理上传线程 上传许多(或大)纹理通常是一项昂贵的操作,因为要推送到 GPU 的数据量很大。同样,这是可能不必要地阻塞主线程的操作之一。在 4.8 中你可以通过创建一对共享的 QGLWidgets 来解决这个问题。其中一个小部件在单独的线程中成为当前的,但永远不会在屏幕上显示。主线程通知上传线程要上传哪些图像,上传线程只需对这些图像中的每一个调用 bindTexture(),然后在每个图像完成时通知主线程,以便将其绘制到屏幕上。

使用带有 MinGW 的 Qt 4.8 可以正常工作,但现在我使用带有 MSVC 的 Qt 5.1。当我想让线程中的小部件成为当前小部件时出现错误:

不能在不同的线程中使 QOpenGLContext 当前

我了解错误,但我该如何解决。当我不将小部件设置为当前时,我无法加载纹理(在 bindTexture() 函数处冻结)。我也想知道,为什么它适用于我的旧 QT 版本。当错误出现时,我可以按“忽略错误”,程序无论如何都会加载纹理。

这是一些示例代码:

加载纹理:

...

...

编辑:

当我将 myTextureWidget 的上下文移动到它工作的线程时,但是当 GUI 构建时我从 API 获得 makeCurrent 错误(堆栈跟踪在 QT5Widgetsd 中的 QLineEdit::setPlaceHolderText 函数中说)。当我在显示主窗口几秒钟后将 myTextureWidget 移动到线程时,一切正常。但是我怎么知道qt什么时候完成了所有的GUI构建东西?我将 GUI 绘制到带有 QGLWidget 视口的 QGraphicsView 上。

0 投票
2 回答
911 浏览

c++ - Use QAbstractTableModel implementation with a QList of custom classes

I have a general question about the implementation of the underlying data source of a QAbstractTableModel.

The QAbstractTableModel::data() function access the data sources content by an index consisting of a row and a column value.

If my underlying data source is a QList of Person classes, where each member represents a column, how do I access its members with a given column index?

The only approach I can think of is that I use a kind of mapping, that maps a column number to a member of the Person class:

Is this the approach to tackle this problem or is there a better one? If my class has 50 members that would be a lot of work to do. The same thing must be done, when I write data to the source via QAbstractTableModel::setData().

Answers or links to material that would help me to understand this part of the model/view implementation in Qt are very much appriciated.

0 投票
1 回答
3423 浏览

python - QTableWidget 强制单项选择

在 PyQt 中,我如何强制 aQTableWidget只接受一个部分(这样你就不能用Shiftor选择更多项目crtl)?

0 投票
1 回答
117 浏览

c++ - 在 QTableView 列中将 int 显示为 QString

我有一个QTableView链接到一个QSqlTableModel. 在此表中,有一列是整数。这个的每个值都与一个匹配QString。我已经使用了一个QComboBox委托来QString在编辑时选择。但是当值被编辑时,它显示为一个整数。

我想要做的是将值显示为QString具有相应整数值的 a 。

我在课堂上看过,QAbstractProxyModel但我不完全确定它可以解决我的问题。

您能以这种方式确认(子类化QAbstractProxyModel)还是使用另一种方式?

感谢您的回答。

0 投票
1 回答
2803 浏览

qt - QObject 没有属性“显示”

我在 Qt 4 Designer 中设计了一个 GUI,然后使用pyuic4将其编译为 Python 代码。

以下是编译的结果代码:

但是当我尝试使用以下命令执行它时:

我收到以下错误消息,不明白为什么:

0 投票
1 回答
1478 浏览

qt - 带有 QPushButtons 的 QComboBox

我想创建一个包含按钮和 QLabel 的多列的 qt 组合框。如果我查看 QSpinBox 编辑器示例,编辑器仅设置为一个 QSpinBox 控件。我们可以创建这样一个复杂的控件并处理事件吗?

你有什么指示吗?

0 投票
1 回答
1045 浏览

qt - QTableView 的按钮

我想将 QPushButtons 添加到我的 QTableView。Qt如何做到这一点?如果我使用 QItemDelegate,是否可以指定哪一列包含按钮?

0 投票
1 回答
469 浏览

qt - Qt 上的 keybd_event 不起作用

我正在尝试通过将“键盘按键”从我的应用程序发送到它的外部(到系统)来在 Qt 上创建某种“虚拟控制器”。我尝试使用 keybd_event,但我遇到了问题。即使是这个简单的代码也行不通:

我收到此错误消息:

mainwindow.obj:-1:错误:LNK2019:未解析的外部符号_imp _keybd_event@16 在函数“private:void __thiscall MainWindow::on_pushButton_clicked(void)”(?on_pushButton_clicked@MainWindow@@AAEXXZ) 中引用

有人可以解释为什么代码有问题吗?