我很困惑如何使用setData、setItemData和setItem方法QStandardItemModel,这些方法似乎具有相同的效果,我想知道我应该选择使用哪种方法最好?
class DemoD(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
table = QTableView()
model = QStandardItemModel(4, 2)
table.setModel(model)
# delegate = SpinBoxDelegate()
# table.setItemDelegate(delegate)
for row in range(4):
for col in range(2):
item = QStandardItem('china')
model.setItem(row, col, item)
index = model.index(row, col)
value = QVariant((row + 1)*(col + 1))
model.setData(index, value)
model.setItemData(index, {1: 'a', 2: 'b'})
self.setCentralWidget(table)
self.resize(400, 300)
app = QApplication([])
demo = DemoD()
demo.show()
app.exec()
Run Code Online (Sandbox Code Playgroud) 在下面的示例代码中,当灯具处于模式时,如何在函数A()中获取对象?test_oneautouse
import pytest
import time
class A:
def __init__(self):
self.abc = 12
@pytest.fixture(autouse=True)
def test_foo():
print('connecting')
yield A()
print('disconnect')
def test_one():
#how can i get A() object?
print([locals()])
assert 1 == 1
Run Code Online (Sandbox Code Playgroud) 我尝试在我的Mac上通过pip或brew安装PyQt,但全部失败并出现sipbuild.pyproject.PyProjectOptionException错误。需要帮助有人可以解决这个问题吗?
jett@jmac ~ % pip install pyqt5
Defaulting to user installation because normal site-packages is not writeable
Collecting pyqt5
Using cached PyQt5-5.15.4.tar.gz (3.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... error
ERROR: Command errored out with exit status 1:
command: /Applications/Xcode.app/Contents/Developer/usr/bin/python3 /Library/Python/3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /var/folders/kk/ck6hb36n5z1373zlhm46l3m80000gn/T/tmpgdmdc09l
cwd: /private/var/folders/kk/ck6hb36n5z1373zlhm46l3m80000gn/T/pip-install-bv0c7yxz/pyqt5_7923519b6ae5437192ce4b58d6719383
Complete output (31 lines):
Traceback (most recent call last):
File "/Library/Python/3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 126, in prepare_metadata_for_build_wheel
hook = backend.prepare_metadata_for_build_wheel
AttributeError: module 'sipbuild.api' has …Run Code Online (Sandbox Code Playgroud) 在 python 中,我有一个对象data,它可能是任何对象。
在 vscodev1, v2 = data # type: str, str语句中我想要v1, v2 弹出 str 方法。
在vscodev1, v2 = data # type: dict, set句子中我想要v1, v2 弹出字典,设置方法。
data = (object, object)
v1, v2 = data # type: str, str
v11, v22= data # type: dict, set
Run Code Online (Sandbox Code Playgroud)
但它在 pylance 中显示错误
Type annotation not supported for this type of expression
Unexpected token at end of expression
Run Code Online (Sandbox Code Playgroud) 下面显示的代码,我创建了一个结构类型并希望将其编码为二进制。但它显示binary.Write: invalid type main.Stu错误,我读过一些类似的代码,但我找不到为什么我的代码不起作用?
type Stu struct {
Name string
Age int
Id int
}
func main() {
s := &Stu{
Name: "Leo",
Age: 21,
Id: 1,
}
buf := new(bytes.Buffer)
err := binary.Write(buf, binary.BigEndian, s)
if err != nil{
fmt.Println(err)
}
fmt.Printf("%q\n", buf)
}
Run Code Online (Sandbox Code Playgroud)