小编eyl*_*esc的帖子

如何在ComboBox的编辑字段中创建按钮?

要求是当我们在 ComboBox 中键入内容时,该字段的右侧会出现一个 X 按钮(以删除我们键入的内容)。我怎样才能做到这一点?

在此输入图像描述

结果与setClearButtonEnabled

在此输入图像描述

c++ qt qcombobox qt5

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

使用 lambda forEach Kotlin 迭代列表

我有一个包含 30 个随机数的列表,它们对应于 8 种颜色中的一种,我需要遍历 8 种颜色(或 30 个数字)并找到每种颜色出现的次数。我需要使用 lambdas 和函数式编程来做到这一点,所以没有传统的 for 循环。

val iterator = colours.toList().iterator()

iterator.forEach{

    println("$it count: " + (numbers
            .map{a -> colours[a]}
            .count{it == ("$it")}))
}
Run Code Online (Sandbox Code Playgroud)

目前的问题是我的计数输出仅为 50,而不是颜色出现的具体次数。

如果我这样做:

println("Red count:" +    (numbers
        .map{a -> colours[a]}
        .count{it ==  ("red")}))
Run Code Online (Sandbox Code Playgroud)

它输出正确的数字,但不是循环。

它输出什么:

green count: 50 

red count: 50
Run Code Online (Sandbox Code Playgroud)

它应该输出什么(例如)

green count:9

red count:3
Run Code Online (Sandbox Code Playgroud)

提前致谢

lambda android kotlin

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

未收到预期的延续

我正在使用下面的JCL代码创建PDS,但出现错误

 000001 //HERC01A JOB (COBOL),                                               
 000002 //             'abc',                                 
 000003 //             CLASS=H,                                              
 000004 //             MSGCLASS=H,                                           
 000005 //             REGION=9000K,TIME=1440,                               
 000006 //             MSGLEVEL=(1,1)                                        
 000007 //STEP1    EXEC PGM=IEFBR14                                          
 000008 //SYSOUT      DD *                                                   
 000009 //TEMDATA     DD DISP=(NEW,CATLG,DELETE),                            
 000010 //               DSN=HERC01.TKARTHI.EXAMPLE,                         
 000011 //               SPACE=(TRK,(45,45,50)),                             
 000012 //               DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,DSORG=PO),       
 000013 //               UNIT=SYSDA                                          
 000014 //                                                                   
Run Code Online (Sandbox Code Playgroud)

o / p:

                                                J E S 2   J O B   L O G         
07.47.07 JOB   26  IEF452I HERC01A  JOB NOT RUN - JCL ERROR                     
    1     //HERC01A JOB (COBOL),                                                
          //             'abc',                                  
          //             CLASS=H,                                               
          //             MSGCLASS=H, …
Run Code Online (Sandbox Code Playgroud)

mainframe jcl zos

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

Qt - 为什么无法使用 QFile 和从 FileDialog 获取的目录读取文件?

我正在使用 QFile 读取 Qt 5.12 上的文件。我尝试从计算机中读取文件,但是当我使用从 FileDialog 读取的目录时,其前缀为“file:///”。谁能告诉我为什么这是错误的以及如何使用从 FileDialog 获取的 URL?

谢谢!

QFile file("C:/Users/HuuChinhPC/Desktop/my_txt.txt"); // this work
//QFile file("file:///C:/Users/HuuChinhPC/Desktop/my_txt.txt"); //didn't work
QString fileContent;
if (file.open(QIODevice::ReadOnly) ) {
    QString line;
    QTextStream t( &file );
    do {
        line = t.readLine();
        fileContent += line;
     } while (!line.isNull());

    file.close();
} else {
    emit error("Unable to open the file");
    return QString();
}
Run Code Online (Sandbox Code Playgroud)

c++ file-io qt qml qtquick2

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

使用Python查找最相似的行

我有两个数据帧(df1和df2)。在df1中,我用一组值存储一行,并且我想在df2中找到最相似的行。

import pandas as pd
import numpy as np

# Df1 has only one row and four columns.
df1 = pd.DataFrame(np.array([[30, 60, 70, 40]]), columns=['A', 'B', 'C','D'])

# Df2 has 50 rows and four columns
df2 = pd.DataFrame(np.random.randint(0,100,size=(50, 4)), columns=list('ABCD'))
Run Code Online (Sandbox Code Playgroud)

问题:基于df1,df2中最相似的行是什么?

python distance pandas

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

可聚焦的 Qml 组件(将我的控件聚焦在选项卡上)

我在 qml 中创建了一个自定义按钮,我想重点关注按“选项卡”,我的意思是“如果它位于队列顶部,则按选项卡跳转到它”默认情况下,qml 在按钮本身和其他一些控件上具有此功能也是,但是不存在的新组件呢,我看到了 qml 的“FocusScope”控件,但没有使用它的文档,我不确定如何实现它,这是我的控件:

import QtQuick 2.4

Item {
    id: button
    width: innerText.width + 10
    height: 30
    property alias text: innerText.text;
    property alias font: innerText.font;
    property color color: "#00171f"
    property color hoverColor: "#00395f"
    property color pressColor: "#3E65FF"
    property int fontSize: 12
    property int borderWidth: 0
    property int borderRadius: 2
    property bool highlighted : true
    onEnabledChanged: state = ""
    signal clicked
    property var background
    Rectangle {
        id: rectangleButton
        anchors.fill: button
        radius: borderRadius
        color: button.enabled ? button.color : "grey"
        border.width: …
Run Code Online (Sandbox Code Playgroud)

qt qml

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

QMessageBox添加自定义按钮并保持打开状态

我想向 QMessagebox 添加一个自定义按钮,用于打开 matplotlib 窗口,以及一个“确定”按钮,供用户在想要关闭它时单击

我目前已经可以正常工作了,但我希望这两个按钮能够执行单独的操作而不是打开窗口。

我知道我可以创建一个具有所需结果的对话框窗口,但我想知道如何使用 QMessageBox。

import sys
from PyQt5 import QtCore, QtWidgets

def main():
    app = QtWidgets.QApplication(sys.argv)
    msgbox = QtWidgets.QMessageBox()
    msgbox.setWindowTitle("Information")
    msgbox.setText('Test')
    msgbox.addButton(QtWidgets.QMessageBox.Ok)
    msgbox.addButton('View Graphs', QtWidgets.QMessageBox.YesRole)

    bttn = msgbox.exec_()

    if bttn:
        print("Ok")
    else:
        print("View Graphs")
    sys.exit(app.exec_())

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

期望的结果:

确定按钮 - 关闭 QMessageBox

“查看图形”按钮 - 打开 matplotlib 窗口并保持 QMessageBox 打开,直到用户单击“确定”

python pyqt python-3.x qmessagebox pyqt5

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

qlabel无法触发鼠标释放事件

我有一个父 QLabel,并创建一个子 QLabel 来显示一些文本。当我点击子QLabel时,父QLabel上的mousePressEvent正常,但无法触发mouseReleaseEvent。代码是:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

class MyLabel(QLabel):

    def __init__(self):
        super(MyLabel, self).__init__()
        self.label = QLabel('hello<br/> world', self)
        self.label.adjustSize()
        self.label.setStyleSheet(
            "background-color: {};".format(QColor(255, 0, 0).name())
        )
        self.label.move(QPoint(50, 50))
        self.label.setFrameShape(QFrame.NoFrame)

    def mousePressEvent(self, QMouseEvent):
        super(MyLabel, self).mousePressEvent(QMouseEvent)
        print('press')

    def mouseReleaseEvent(self, QMouseEvent):
        super(MyLabel, self).mouseReleaseEvent(QMouseEvent)
        print('release')

class Window(QLabel):
    def __init__(self):
        super(Window, self).__init__()
        self.layout = QVBoxLayout()
        self.setLayout(self.layout)
        self.label = MyLabel()
        self.label.setFrameShape(QFrame.Box)
        self.label.setStyleSheet("border-width: 2px;border-style: solid;border-color: rgb(0, 255, 0);")
        self.layout.addWidget(self.label)

if __name__ == "__main__":

    app = QApplication(sys.argv)
    window …
Run Code Online (Sandbox Code Playgroud)

python pyqt qlabel pyqt5

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

如何制作有角度的表格标题?

使用 PySide2 或 PyQt5,我想制作一个带有 45 度角标题标签的表格小部件,如下图所示。

倾斜水平标题示例

我在 QTable 小部件的 QtCreator(设计器)中没有看到类似的内容。我可以使用如下方式旋转标签:

class MyLabel(QtGui.QWidget):
    def paintEvent(self, event):
        painter = QtGui.QPainter(self)
        painter.setPen(QtCore.Qt.black)
        painter.translate(20, 100)
        painter.rotate(-45)
        painter.drawText(0, 0, "hellos")
        painter.end()
Run Code Online (Sandbox Code Playgroud)

但是,有几个小问题。理想情况下,这将是一个 QLineEdit 小部件,我需要这些小部件“发挥得很好”,以免与其他任何内容重叠,并且我希望它们从标题填充到表格上方。我正在寻找建议。

python pyqt pyqt5

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

关于QPixmap更改不透明度

我在 QLabel 上有一个 QPixmap,并且 QLabel 具有黄色,问题是我只是想更改 QPixmap 颜色的 opactiy,有什么方法可以解决这个问题。

from PyQt5.QtWidgets import QApplication, QLabel
from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import Qt
import sys

class Pixmap(QPixmap):
    def __init__(self):
        super().__init__(700, 400)
        self.fill(Qt.yellow)

class Drawing(QLabel):
    def __init__(self):
        super().__init__()
        pix = Pixmap()
        self.setPixmap(pix)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    draw = Drawing()
    draw.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

python pyqt pyqt5

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

标签 统计

python ×5

pyqt ×4

pyqt5 ×4

qt ×3

c++ ×2

qml ×2

android ×1

distance ×1

file-io ×1

jcl ×1

kotlin ×1

lambda ×1

mainframe ×1

pandas ×1

python-3.x ×1

qcombobox ×1

qlabel ×1

qmessagebox ×1

qt5 ×1

qtquick2 ×1

zos ×1