我正在尝试在PyQT5中实现一个事件,但出现此错误:
TypeError: installEventFilter(self, QObject): argument 1 has unexpected type 'MainWindow_EXEC'
Run Code Online (Sandbox Code Playgroud)
这是我的代码
import sys
from time import sleep
from PyQt5 import QtCore, QtWidgets
from view_cortes2 import Ui_cortes2enter
class MainWindow_EXEC():
def __init__(self):
app = QtWidgets.QApplication(sys.argv)
cortes2 = QtWidgets.QMainWindow()
self.ui = Ui_cortes2()
self.ui.setupUi(cortes2)
self.flag = 0
self.ui.ledit_corteA.installEventFilter(self)
self.ui.ledit_corteB.installEventFilter(self)
self.ui.buttonGroup.buttonClicked.connect(self.handleButtons)
cortes2.show()
sys.exit(app.exec_())
def eventFilter(self, source, event):
if (event.type() == QtCore.QEvent.FocusIn and source is self.ui.ledit_corteA):
print("A")
self.flag = 0
if (event.type() == QtCore.QEvent.FocusIn and source is self.ui.ledit_corteA):
print("B")
self.flag = 1
return super(cortes2, self).eventFilter(source, event) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用python脚本读取和编写json文件(我在shell脚本中嵌入了这个python块)
test.json
Run Code Online (Sandbox Code Playgroud){ "environments": ["dev", "qa", "load", "prod"], "region": ["asia", "europe", "americas", "asia-pacific"], "product": ["mobile", "internet", "kiosk", "branch"], "ID": ["mobile:111", "internet:222", "kiosk:333", "branch:444"] }
我正在尝试添加区域(英国),在此之前我想检查并添加它是否在列表中不可用.下面是我的python代码,我可以更新值
reg_val="uk"
a_dict = {}
try:
with open('test.json') as data_file:
data = json.load(data_file)
temp_list = []
for dicObj in data["region"]:
temp_list.append(dicObj)
temp_list.append(reg_val)
data["region"] = temp_list
a_dict["region"] = data["region"]
with open('test.json','w') as f:
f.write(json.dumps(a_dict, indent=4, sort_keys=True, encoding="utf-8"))
except IOError as io:
print "ERROR: ", io
Run Code Online (Sandbox Code Playgroud)
我能够更新json文件,但它删除了其他列表.我看到的输出是
{
"region": [
"asia",
"europe",
"americas",
"asia-pacific",
"uk"
]
}
Run Code Online (Sandbox Code Playgroud) 我有一个列表列表,其中每个列表包含一些数字,比方说
t = [[5,6,1],[4,6,33],[6,33,5,10],[1,2],[1,22,44,3]]
Run Code Online (Sandbox Code Playgroud)
使用python3我想根据这个特定的列表索引绘制每个列表值,在上面的例子中我应该有x轴从1到3,y轴从1到50,标记在(1,5),(1) ,6),(1,1),(2,4),(2,6)......
这是我的代码
x = list(range(3))
y = [[5,6,1],[4,6,33],[6,33,5,10],[1,2],[1,22,44,3]]
for i in range(len(x)):
purchases = y[i]
for j in range(len(purchases)):
plt.scatter(x,purchases)
Run Code Online (Sandbox Code Playgroud)
它正确绘制前两个索引然后我得到错误:
x和y必须大小相同
输出图像

这样做的正确方法是什么?
我们可以如下定义 HSV 中红色的范围。我想检测某个像素是否是红色的?我怎样才能在Python中做到这一点?我花了一整天,但无法找到解决方案。请解决我的问题。我对 Python 很陌生。我正在使用的代码是:
img=cv2.imread("img.png")
img_hsv=cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# lower mask (0-10)
lower_red = np.array([0,50,50])
upper_red = np.array([10,255,255])
mask0 = cv2.inRange(img_hsv, lower_red, upper_red)
# upper mask (170-180)
lower_red = np.array([170,50,50])
upper_red = np.array([180,255,255])
mask1 = cv2.inRange(img_hsv, lower_red, upper_red)
image_height,image_width,_=img.shape
for i in range(image_height):
for j in range(image_width):
if img_hsv[i][j][1]>=lower_red and img_hsv[i][j][1]<=upper_red:
print("Found red")
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 QT 开发一个 android 应用程序。我想在应用程序开始时显示启动画面。启动画面将在那里停留 2 秒钟,然后将显示应用程序的主页。为此,我创建了 2 个 .qml 文件。
飞溅.qml
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Window 2.3
Window {
id: window
visible: true
width: Screen.width
height: Screen.height
signal timeout
Image {
id: image
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
width: 300
height: 300
source: "qrc:/../Desktop/photo_2018-03-21_19-53-06.jpg"
}
Text {
id: text1
y: image.height + image.y + 20
text: qsTr("@startimeahmet Presents")
anchors.horizontalCenter: parent.horizontalCenter
font.pixelSize: 25
}
Timer {
interval: 2000; running: true; repeat: false
onTriggered: {
visible = false
window.timeout() …Run Code Online (Sandbox Code Playgroud) 我有一个包含 3 行的字符串:
a VARCHAR(20),
b FLOAT, c FLOAT,
d NUMBER(38,0), e NUMBER(38,0)
Run Code Online (Sandbox Code Playgroud)
需要根据逗号分隔符将字符串拆分为数组,但忽略括号中的逗号。
最终输出是包含 5 个元素的数组:
s_arr = ['a VARCHAR(20)', 'b FLOAT', 'c FLOAT', 'd NUMBER(38,0)', 'e NUMBER(38,0)']
Run Code Online (Sandbox Code Playgroud)
到目前为止我已经s_arr = s.split(",")
如何实现这一目标?
我使用 method1 在 qtablewidget 行中查找一些文本。方法一:
def FindItem(self):
items = self.SuraBRS.findItems(
self.SearchTbox.text(), QtCore.Qt.MatchContains)
if items:
results = '\n'.join(
'row %d column %d' % (item.row() + 1, item.column() + 1)
for item in items)
else:
results = 'Found Nothing'
print(results)
Run Code Online (Sandbox Code Playgroud)
现在我想知道如何突出显示结果或更改其颜色。我想选择并突出显示该文本或字符,而不是所有行或列。
我在 PyQt5 和 Qt Designer 中使用 QTableWidget 来创建数据输入表。我想要的是一种简单的方法,使“Enter”keyPressEvent 在表格中移动,就像按下 Tab 按钮一样。以下代码捕获 Enter 键按下事件。如何让它移动光标?
def keyPressEvent(self, ev):
if ev.key() in (QtCore.Qt.Key_Return, QtCore.Qt.Key_Enter):
print("Enter key pressed")
Run Code Online (Sandbox Code Playgroud) 我正在使用 Jupyter 笔记本,它在离线模式下绘制条形图没有问题。
我有一个读取 CSV 文件的 Pandas 数据框,我想在 Plotly(离线模式)中快速创建一个饼图。
如果省略,则绘制饼图值 ( https://plot.ly/python/reference/#pie-values ) 计算标签。这就是我所希望的。我想直接从我的熊猫数据框中设置饼图标签(https://plot.ly/python/reference/#pie-labels)。
我的代码:
import plotly as py
import plotly.graph_objs as go
import pandas as pd
from plotly.offline import init_notebook_mode
init_notebook_mode()
df2 = pd.read_csv("./testdata.csv")
trace = go.Pie(
labels= df2["Vendor"]
)
py.offline.plot(trace, filename='pdq_pie_chart.html')
Run Code Online (Sandbox Code Playgroud)
尝试此操作时出现错误:
PlotlyError: The `figure_or_data` positional argument must be `dict`-like, `list`-like, or an instance of plotly.graph_objs.Figure
Run Code Online (Sandbox Code Playgroud)
在 go.Pie 调用之前,我是否错过了什么?我故意没有进入任何格式选项,并希望使用尽可能少的数据帧代码生成饼图。
对于应用程序,我需要读取/写入 .ini 文件中的值。我在 windows7 上使用 python3 和 pyqt5 并得到了这个小例子:
import os
from PyQt5.QtCore import QSettings
ini_str = """[mysection]
key0=value0
"""
with open("test.ini", "w") as fi:
fi.write(ini_str)
inidict = {
"mysection/key1" : "value1",
"myothersection/key2" : "value2"
}
settings = QSettings("test.ini", QSettings.IniFormat)
for k in settings.allKeys():
print(k, settings.value(k))
for k in inidict.keys():
settings.setValue(k, inidict[k])
Run Code Online (Sandbox Code Playgroud)
从我的 ini 文件中读取值可以工作,但是设置值(如第二个 for 循环)则不行,值不会保存到 ini 文件中。所以,我想我在这里遗漏了一些东西?
python ×9
pyqt ×4
pyqt5 ×4
python-3.x ×2
qtablewidget ×2
arrays ×1
eventfilter ×1
hsv ×1
json ×1
matplotlib ×1
numpy ×1
opencv ×1
pandas ×1
plotly ×1
python-3.6 ×1
qml ×1
qsettings ×1
qt ×1
qt-designer ×1
regex ×1