我有一个包含 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)
提前致谢
我正在使用下面的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) 我正在使用 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) 我有两个数据帧(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中最相似的行是什么?
我在 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) 我想向 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 打开,直到用户单击“确定”
我有一个父 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) 使用 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 小部件,我需要这些小部件“发挥得很好”,以免与其他任何内容重叠,并且我希望它们从标题填充到表格上方。我正在寻找建议。
我在 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)