- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在 QDockWidget 的 KeyPressedEvent 中添加一些逻辑。它在没有 QDockWidget 的情况下工作,即在主窗口上工作,但在 QDockWidget 上不起作用。
这是我尝试过的:
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from qgis.core import QgsProject
from .progress_bar import Ui_MainWindow_Progress
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QApplication.translate(context, text, disambig)
class Ui_MainWindow(QMainWindow):
def __init__(self, iface):
super().__init__()
self.iface = iface
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(356, 750)
self.pushButton_exit = QPushButton(MainWindow)
self.pushButton_exit.setGeometry(QtCore.QRect(290, 0, 50, 23))
self.pushButton_exit.setObjectName(_fromUtf8("pushButton_exit"))
self.pushButton_exit.setStyleSheet("background-color: red")
self.label_4 = QLabel(MainWindow)
self.label_4.setGeometry(QtCore.QRect(20, 300, 81, 20))
self.label_4.setObjectName(_fromUtf8("label_4"))
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
self.dock_widget = QDockWidget("My Plugin", self.iface.mainWindow())
self.dock_widget.setWidget(MainWindow)
self.dock_widget.setFixedWidth(356)
self.dock_widget.setFixedHeight(750)
self.iface.addDockWidget(QtCore.Qt.RightDockWidgetArea,
self.dock_widget)
self.dock_widget.setFeatures(QDockWidget.DockWidgetFloatable |
QDockWidget.DockWidgetMovable)
self.dock_widget.keyPressEvent = self.keyPressed
def keyPressed(self, event):
if event.key() == QtCore.Qt.Key_Escape:
print("Escape pressed")
代码运行良好,但未调用 keyPressed 方法。QDockWidget的KeyPressedEvent如何处理?
最佳答案
keyPressEvent()
: is a predefined function in PyQt framework used to define the functionalities of the key press event generated. Note that, you can’t change its function name, you can define its argument content and function body as per your requirement.
event.key() == QtCore.Qt.Key_Escape
is being used under the keyPresssEvent() function. Here, key_Escape is used to mention that the key we are going to generate event is the Escape key.
尝试:
def keyPressEvent(self, event):
if event.key() == QtCore.Qt.Key_Escape:
print("Escape pressed")
关于python - 如何在pyqt(QGIS)中捕捉QDockWidget的KeyPressedEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55452097/
我是一名 R 程序员,但我发现 Qgis 更适合某些地理项目。我在做某事时遇到了困难,我已经搜索过了。基本上,我想在 5 个点左右创建一个缓冲区,以便我可以对缓冲区的人口求和。我遇到的问题是缓冲区下拉
我正在尝试让我的 QGIS 构建输出调用 QgsDebugMsg 的调试消息。这是我到目前为止所拥有的: 我已经构建了配置为 RelWithDebugInfo 的 QGIS,并且在应用程序的 Help
我正在尝试在 qgis 中的 map 上的点周围制作缓冲区。出于某种原因,当我尝试制作缓冲区时,它们会占用 map 上的大量空间。 我确保我的 CRS 与 map 相同,即 WGS 84。 有谁知道为
我已经为特定区域提取了带有多边形坐标的 geojson 格式的形状文件。现在我想在 qgis 中使用这个 shapefile 从 Bing map 中提取与多边形坐标对应的单个图像。如何做到这一点?
无法对齐 Qgis Messagebar 中的 QProgressbar 标签。看下图 进度条更新时,标签消失。所以我尝试了进度条的对齐方式,如下所示,但它不起作用。 我的代码是: widget =
我正在尝试在 QGIS 3.4 上重新分类栅格,但我不断收到此错误:文件“/Applications/QGIS3.app/Contents/MacOS/grass/grass74”,第 1697 行
我对 QGIS 3.2 中的 LASTools 有疑问。我安装了插件,并在处理菜单中使用正确的路径激活了它。我尝试运行 lasview(一天前我在 ubuntu 上用 WINE 做了同样的过程,一切都
我一直在尝试从脚本调用 qgis 时在 python 中收到此错误。 代码是: from qgis.core import * from qgis.analysis import * 我已经阅读了关于
以下问题:我想构建一个函数,它向我返回一个指向抽象类派生对象的指针。我认为,当函数离开时内存被释放,因为我得到一个分配错误。但是我不能把对象还回去,因为这个类是抽象的。在我决定的函数中,对象将具有哪个
是否可以在 QGIS 中使用 Print Composer 创建灰度输出(导出)pdf(或 svg)而不更改主 map 窗口中的配色方案? 最佳答案 在 print composer 中,您可以在灰度
我已经通过包管理器安装了QGIS,我可以通过终端运行gpx2shp。如何启动QGIS? 在我的 Ubuntu 中,我转到 nautilus,结果我得到一个 QGIS 桌面图标,单击它会启动应用程序的图
我有一个具有多边形特征的图层。每个特征都有属性和值。我还有一个坐标列表,我想知道坐标位于哪个要素(或多边形)中。 有人可以指导我如何去做吗? API 中是否有可以帮助我实现目标的函数,还是我应该使用一
谁能告诉我如何获取 python-qgis 的版本信息? 我已经尝试了所有常用的 foo.version 或 foo.__version__ 或 foo.VERSION。如果有人知道如何做到这一点,那
我正在尝试使用 Qt 5.9.1 创建自定义 QGIS 桌面应用程序 我已经下载OSGeo4W (x64) 地理空间软件集和 Github C++ QGIS samples但我在编译时遇到错误: 无法
我需要你的帮助。我使用 Qgis 网络客户端,我想使用这样的代码: map.events.register("click", map , function(e){ var opx = map.getL
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
我是 QGis 的新手,我确信有一种简单的方法可以做我想做的事,但我不知道如何开始。我下载了一堆 SRTM DEM 部分并将它们组合成一个栅格层。显示了我的海拔和河流的图像 here . 问题是覆盖的
这些矢量或栅格文件是没有地理坐标的经典文件。它们是经纬度投影,我想将它们导入QGIS,按比例放大/缩小,将其放置在正确的位置,然后它们成为可重用的shp或栅格地理坐标图层。 编辑:我来自Wikiped
我在 QGIS 中有一个有趣的问题,我有一个点向量层(以紫色显示)和一个多边形层(绿色),其中附加了许多元数据属性(即日期、ID 号等)。 我想将多边形中的数据附加到它们下面的点数据上。问题是我有一些
我正在开发一个 qgis python 插件。这个插件改变了显示的默认 UI 窗口(我已经设法做到了)并创建了一些新的标签等等。最近被要求修改qgis里面的一些选项。这些是他们要我修改的内容: 在“设
我是一名优秀的程序员,十分优秀!