小编eyl*_*esc的帖子

如何在QML中为ListView项设置备用颜色

是否可以为QML中的备用ListView项目分配2种颜色?我想将第1个列表项目涂成黑色,然后将第2个列表项目涂成蓝色,然后将第3个项目涂成黑色,然后将第4个项目涂成蓝色,依此类推......

如何在qml中实现这个功能?请分享你的想法.谢谢.

qt qml

13
推荐指数
1
解决办法
6690
查看次数

使用带有tkinter的Python 3选择Text小部件中的所有文本

我正在研究我的第一个Python程序,并且不知道我在做什么.我想重新绑定ctrl-a(控件a)以选择Text小部件中的所有文本.当前绑定是ctrl- /(control /).绑定部分向右跳转到函数,但实际的文本选择不起作用.相反,光标跳转到第一行的第一个字符(就像它应该),没有其他任何事情发生.我确信这很容易修复但是花了一个小时就可以了,我无法弄清楚出了什么问题.

Python 3,Windows:

from tkinter import *

# Select all the text in textbox (not working)
def select_all(event):
    textbox.tag_add(SEL, "1.0", END)
    textbox.mark_set(INSERT, "1.0")
    textbox.see(INSERT)

# Open a window
mainwin = Tk()

# Create a text widget
textbox = Text(mainwin, width=40, height=10)
textbox.pack()

# Add some text
textbox.insert(INSERT, "Select some text then right click in this window")

# Add the binding
textbox.bind("<Control-Key-a>", select_all)

# Start the program
mainwin.mainloop()
Run Code Online (Sandbox Code Playgroud)

python tkinter python-3.x

13
推荐指数
2
解决办法
8169
查看次数

如何使用QML模型?

我有一个用qml和c ++编写的GUI.有2个组合框(qt control 5.1).只要第一个组合的值发生变化,第二个组合框就必须在运行时更新.

maincontext->setContextProperty("typemodel", QVariant::fromValue(m_typemodel));

maincontext->setContextProperty("unitmodel", QVariant::fromValue(m_unitmodel));
Run Code Online (Sandbox Code Playgroud)

这是我从c ++给qml的两个模型.

ComboBox {
    id: typebox

    anchors.left: text1.right
    anchors.leftMargin: 5
    signal changed(string newtext)

    width: 70
    height: 23
    anchors.top: parent.top
    anchors.topMargin: 37
    model: typemodel

    onCurrentTextChanged: {

        mainwin.unitGenerator(typebox.currentText);

    }
Run Code Online (Sandbox Code Playgroud)

这是第一个组合框.如您所见,每次更改第一个组合框的值时,第二个组合框的c ++模型都会更新(mainwin.unitGenerator(typebox.currentText)).但它似乎没有更新组合框的模型.

如何在运行时更新qml的模型?

c++ qt combobox qml

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

Qt5没有安装QML模块

我对Qt QML中的模块感到困惑.我已经阅读了所有的文档,但它没有说明一些基本的想法.

我知道我可以将一堆QML文件放入一个目录中并添加一个qmldir文件来描述一个已识别的模块.当我这样做并调整QML_IMPORT_PATH时,QtCreator很高兴并停止强调导入ModuleName 1.0行.

所以创作者很高兴,但它不起作用.我没有安装模块.我的问题是:

  • "安装"是什么意思.我有文件目录,但我没有在任何地方"安装"它们.
  • 我应该构建/编译模块来制作DLL/.so吗?
  • 模块QML文件是否进入主应用程序的资源,否则它们在哪里可以找到?
  • 我的main.qml文件是应用程序资源的一部分,应用程序如何在运行时找到模块的资源.

对不起,对于所有这些问题,但这些模块的基础知识还不清楚.我不明白"模块"是仅仅是文件共享还是编译单元.

谢谢你的帮助.

qt qml qt5

13
推荐指数
3
解决办法
2万
查看次数

Pyqt5 qthread +信号无效+ gui冻结

我正在尝试用imaplib 创建一个邮箱检查器,它与python,队列和多线程没有gui工作得很好.

但是当我试图把一个gui,我所做的每一个功能,让gui冻结直到完成.

我从各种d​​oc(添加qthread,signal,cursorr etcc)尝试了很多东西,而且没有一个教程对我有用.

有人可以帮助我理解如何在运行函数时设置或附加文本到QtextEdit,因为它只在完成后工作.

这是我的代码:

class Checker(QtCore.QThread):
    signal = QtCore.pyqtSignal(object)

    def __init__(self, lignesmailtocheck):
        QtCore.QThread.__init__(self)
        self.lignesmailtocheck = lignesmailtocheck

    def run(self):
            lignemailtocheck = self.lignesmailtocheck.strip()                        
            maillo, passo = lignemailtocheck.split(":",1)
            debmail, finmail = maillo.split("@",1)
            setimap =["oultook.com:imap-mail.outlook.com", "gmail.com:imap.gmail.com"]
            for lignesimaptocheck in sorted(setimap):
                    ligneimaptocheck = lignesimaptocheck.strip()
                    fai, imap = ligneimaptocheck.split(":",1)                                
                    if finmail == fai:
                            passo0 = passo.rstrip()
                            try :
                                    mail = imaplib.IMAP4_SSL(imap)
                                    mail.login(maillo, passo)
                                    mailboxok = open("MailBoxOk.txt", "a+", encoding='utf-8', errors='ignore')
                                    mailboxok.write(maillo+":"+passo+"\n")
                                    mailboxok.close()
                                    totaly = maillo+":"+passo0+":"+imap                                
                                    print(maillo+":"+passo+"\n")

                                    self.send_text.emit(totaly)
                                    time.sleep(1)
                            except imaplib.IMAP4.error:                          
                                           print ("LOGIN …
Run Code Online (Sandbox Code Playgroud)

python pyqt python-multithreading pyqt5

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

QObject实例化中的PySide分段错误

我有一个类是我的其他非qt类的基础.该类使用Signal实例实例化QObject类.不幸的是,有时它会引发Segmentation Fault错误.这是我的代码:

class PublisherSignal(QObject):
    notify = Signal(list)


class PublisherBase:
    def __init__(self, *args, **kwargs):
        super(PublisherBase, self).__init__(*args, **kwargs)
        self._signal = PublisherSignal()
Run Code Online (Sandbox Code Playgroud)

错误处理程序显示,分类错误发生在PublisherSignal()类实例化上.并非总是如此.在大多数情况下,它工作正常.没有线程涉及.子类PublisherBase不是子类QObject.
段错误的原因是什么?

python segmentation-fault pyside python-3.x

13
推荐指数
1
解决办法
198
查看次数

使用 python 3.8+(默认协议=5)时,pickle.load 在来自 python 3.7 的(协议=4)对象上失败

Python 在 python 3.4 到 3.7 中将其 pickle 协议更改为 4,并在 python 3.8 中再次将其更改为 protocol=5。如何在 python 3.8 中打开旧的 pickled 文件?

我试过:

>>> with open('data_frame_111.pkl','rb') as pfile:
...     x1 = pickle.load(pfile)
... 
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
AttributeError: Can't get attribute 'new_block' on <module 
'pandas.core.internals.blocks' from '/opt/anaconda3/lib/python3.8/site- 
packages/pandas/core/internals/blocks.py'>
Run Code Online (Sandbox Code Playgroud)

>>> with open('data_frame_111.pkl','rb') as pfile:
...     x1 = unpkl.load(pfile, protocol=4)
Run Code Online (Sandbox Code Playgroud)

但虽然协议是一个关键字,但pickle.dump它不是pickle.load. 实例化pickle.Unpickler()也不起作用。但显然应该有办法。

在 python 3.7 中,我会import pickle5使用它来打开较新的 pickles,但找不到在 python …

python pickle python-3.8

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

在kivy制作一个时钟

我是Kivy的新手,我正在努力更好地处理事件,以及框架的一些基础知识.

为此,任何人都可以提供在Kivy中实现的简单时钟的代码,它显示当前时间,并每秒更新一次?

python kivy

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

任何人都可以帮我解释res = cv2.bitwise_and(img,img,mask = mask)中的参数含义

我试图提取输入图像的蓝色.为此,我使用该命令创建蓝色HSV颜色边界和阈值HSV图像

mask_img = cv2.inRange(hsv, lower_blue, upper_blue)

之后,我在输入图像和阈值图像上使用了bitwise_and

res = cv2.bitwise_and(img,img,mask = mask_img)

'img'是输入图像的位置.这段代码我是从opencv获得的.但是我不明白为什么在bitwise_and中使用了三个参数,实际上每个参数是什么意思?为什么在src1和src2使用相同的图像?

而且这里有mask关键字的用途是什么?请帮我找出答案

python opencv bitwise-and

12
推荐指数
5
解决办法
2万
查看次数

输入图像中的通道数无效

我在运行我的程序时收到一个错误,我特别想到 OpenCV 库中的颜色操作。

我正在尝试构建一个程序,该程序从 Raspberry Pi 相机获取视频源并对其进行分析。我想找到视频中最亮的点并计算该点与视频源中心的距离和角度。

我正在做的项目将相机指向一个暗盒的中心,有一个移动的光点。

我在 Raspberry Pi 3 以及raspicam库上使用 OpenCV 4.0.0 和 C++ 。

我从指南中获取指导,但我使用的是 C++ 和视频源,而不是 Python 和静态图像。

    raspicam::RaspiCam_Cv Camera;
    cv::Mat image;
    cv::Mat gray;
    int nCount=100;
    int nR, nC;         // numRows, numCols
    cv::Point imgMid;
    Vect toCenter;

    // for recording brightest part of img
    double minVal, maxVal;
    cv::Point minLoc, maxLoc;

    Camera.set(cv::CAP_PROP_FORMAT, CV_8UC1);

    #ifdef DEBUG
    cout << "Opening camera..." << endl;
    if (!Camera.open()) {
        cerr << "Error opening the camera" << endl;
        return …
Run Code Online (Sandbox Code Playgroud)

c++ opencv raspberry-pi

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