小编ekh*_*oro的帖子

Qt 的米勒专栏?

有没有一种简单的方法可以在 Qt4 中拥有类似 iTunes 的界面(使用Miller Columns),还是我必须自己创建一个 MillerColumnWidget ?

python user-interface qt4 pyqt

0
推荐指数
1
解决办法
258
查看次数

如何保存PySide树视图模型结构

这是其他SO问题QTreeView与自定义项目的链接,其中是QTreeView示例.

请在这个例子中解释一下,如何从树视图中保存树结构.

  1. 是QAbstractItemModel类,我可以从中提取标签名称,以及我可以再次加载的结构吗?

  2. 如果是这样,我怎么能访问节点?除索引以外的任何其他方式

编辑(来自链接):

import sys
from PySide import QtGui, QtCore


#-------------------------------------------------------------------------------
# my test data
class Icon():
    def __init__(self, icon, tooltip):
        self.pixmap = QtGui.QPixmap(icon)
        self.tooltip = tooltip

#-------------------------------------------------------------------------------
# my test data
class MyData():
    def __init__(self, txt, parent=None):
        self.txt = txt
        self.tooltip = None
        self.parent = parent
        self.child = []
        self.icon = []
        self.index = None
        self.widget = None

    #---------------------------------------------------------------------------
    def position(self):
        position = 0
        if self.parent is not None:
            count = 0
            children = self.parent.child …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt qtreeview pyside

0
推荐指数
1
解决办法
3292
查看次数

如何实时更新QTextEdit

我有一个带有QtextEdit的UI,
(1)我想更新QtextEdit,主UI可以实时显示而且没有卡住.使用睡眠时,不按我的意愿工作.(2)我想制作一个函数并将参数传递给它,QtestEdit可以实时更新显示

self.pButton_torun.clicked.connect(self.mytodo)

 def mytodo(self):
        self.progress_textEdit.append(u"==== 20 % first step finish")
        #after 2 sec
        self.progress_textEdit.append(u"==== 40 % second step finish")
        #after 2 sec
        self.progress_textEdit.append(u"==== 60 % third step finish")
        #after 2 sec
        self.progress_textEdit.append(u"==== 80 % forth step finish")
Run Code Online (Sandbox Code Playgroud)

python pyqt qtextedit

0
推荐指数
1
解决办法
852
查看次数

带有eventFilter的PyQt4信号和插槽

我无法接收事件过滤器发送的信号.在下面的示例中,按下按下的信号/插槽工作正常,并且焦点输出滤波器信号发出OK.然而,焦点输出信号没有被截取,并且插槽不会触发.知道我做错了什么吗?

from PyQt4.QtCore import SIGNAL, QObject, QEvent
from PyQt4.QtGui import QApplication, QLabel, QWidget, QLineEdit, QPushButton, QTextEdit, QVBoxLayout

class SignalOnFocus(QWidget):
    def __init__(self):
        super(SignalOnFocus, self).__init__()
        layout = QVBoxLayout()
        self.label = QLabel("Type in some text then push button")
        self.inputLineEdit1 = QLineEdit()
        self.inputLineEdit1.setObjectName("inputLineEdit1")

        self.focusOutFilter = FocusOutFilter()
        self.inputLineEdit1.installEventFilter(self.focusOutFilter)
        self.connect(self.inputLineEdit1, SIGNAL("focus_out"),
                 self.focusLost)
        self.inputLineEdit2 = QLineEdit()
        self.inputLineEdit2.setObjectName("inputLineEdit2")
        self.mousePressedFilter = MousePressedFilter()
        self.inputLineEdit2.installEventFilter(self.mousePressedFilter)
        self.connect(self.inputLineEdit2, SIGNAL("mouse_clicked"), self.mouseClicked)
        self.button1 = QPushButton("Press me")
        self.button1.setObjectName("button1")
        self.connect(self.button1, SIGNAL("clicked()"), self.buttonPressed)
        self.textEdit = QTextEdit()
        layout.addWidget(self.label)
        layout.addWidget(self.inputLineEdit1)
        layout.addWidget(self.inputLineEdit2)
        layout.addWidget(self.button1)  
        layout.addWidget(self.textEdit)
        self.setLayout(layout)

    def mouseClicked(self):
        self.textEdit.append(" mouse clicked")

    def …
Run Code Online (Sandbox Code Playgroud)

python pyqt event-handling signals-slots pyqt4

0
推荐指数
1
解决办法
1501
查看次数

如何修复 Android Studio 不支持的 Java 版本?

我下载了 Android Studio,但是当我尝试运行它时,我得到:

不支持的 Java 版本:无法在 Java 1.7.0_80-b15 下启动:需要 Java 1.8 或更高版本。

但是当我检查Java版本时,它是:

java 版本“1.8.0_45”Java(TM) SE 运行时环境(版本 1.8.0_45-b14) Java HotSpot(TM) 服务器 VM(版本 25.45-b02,混合模式)

如何修复它?

java android-studio

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

无法使用QWebEngineView.setHtml()加载HTML文件

我的问题的解决方法可能很简单,但仍然超出我的理解范围。我正在尝试使用PyQt5将HTML文件加载到QWebEngineView中。我这样做的方式是:

self.webView = QtWebEngineWidgets.QWebEngineView(self.splitter)
html = r"C:\DATI\git\webgis\map.html"
self.webView.setHtml(html)
Run Code Online (Sandbox Code Playgroud)

我唯一得到的是一个字符串,代表我的HTML文件的路径和名称:

C:\ DATI \ git \ webgis \ map.html

我的map.html看起来像这样:

<html>
  <head>
    <title>Simple Map</title>
    <link rel="stylesheet" href="https://openlayers.org/en/v4.5.0/css/ol.css" type="text/css">
    <!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
    <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
    <script src="https://openlayers.org/en/v4.5.0/build/ol.js"></script>
    <script src=".js/qwebchannel.js"></script>
    <style>
        body { padding: 0; margin: 0; }
        html, body, #map { height: 100%; }
    </style>
  </head>
  <body>
    <div id="map" class="map"></div>
    <script  src="./js/map.js"></script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

奇怪的是(至少对我来说),如果这样做的话self.webView.setHtml("<html><head></head><body><h1>ciao</h1></body></html>"),它将正确地呈现HTML。

我想念什么?

python qt pyqt pyqt5 qwebengineview

0
推荐指数
1
解决办法
952
查看次数

如何从 QListWidget 项目中移除焦点

我正在使用 PySide 并且我有一个 QListWidget。我制作了一个虚拟项目并将其放置在 QListWidget 的顶部。我这样做是为了当该工具首次打开时,默认情况下不会选择任何有用的项目。我不喜欢这个空项目被“突出显示”,向用户展示该项目。我怎样才能摆脱这个轮廓/突出显示?我将附上该问题的图片:

在此输入图像描述

python focus selection qlistwidget pyside

0
推荐指数
1
解决办法
1849
查看次数

为什么我不能用c#开发QGIS插件?

我知道QGIS插件可以用C++或python开发。

但我特别想知道为什么你不能说其他语言。

首先,我没有编程知识。

据我了解,QGIS是用C++开发的,所以不能用其他语言开发。但也可以用python开发。

我目前正在学习c#,我想使用c#开发一个基于QGIS的应用程序或插件。

请详细说明无法开发的结构原因,或者给我文档链接。

如果没有单一的方法用c#开发QGIS插件?

c# c++ api plugins qgis

0
推荐指数
1
解决办法
814
查看次数

Go是否支持内置类型(例如map和slice)的运算符重载?

在python中,我可以通过定义来定义覆盖列表项访问和dict值访问的类型__getitem__()。我可以在Go中做类似的事情吗?

// What I mean is:
type MySlice []MyItem
// Definition of MySlice
......
func (s MySlice) getItem(i int) MyItem {
}
......
// Access is overrided with calling getItem()
item := ms[0] //calling ms.getItem(0)
// Is this doable?
Run Code Online (Sandbox Code Playgroud)

overloading built-in go

-1
推荐指数
1
解决办法
346
查看次数

java中的线程 - 在运行中使用sleep

在打印过程之后,我希望停止注册的秒数,但是当我运行播放功能时,它不会进入睡眠状态.我可以使播放功能休眠,但我想thread.sleep()直接在run函数中运行.是否可能,我怎样才能做到这一点?

我有以下代码:

public class Player implements Runnable {
    private String name;
    private String MusicalInstrument;
    Player(String name, String MusicalInstrument) {
        this.name = name;
        this.MusicalInstrument = MusicalInstrument;
    }
    public void run() {
        try {
            play();
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }


    public void play() {
        while (true) {
            // print a message
            System.out.println(name + " is playing " + MusicalInstrument);
        }  
    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading

-1
推荐指数
1
解决办法
503
查看次数