我有这个代码:
action = QAction("Always On Top", mw)
action.setCheckable(True)
action.triggered.connect(alwaysOnTop)
mw.form.menuTools.addAction(action)
这基本上创建了一个可检查的菜单项,每当我单击它时都会运行该函数 alwaysOnTop
。我的问题是,有没有办法自动触发这个项目?
我试过 action.setCheckable(True)
但这只会改变 GUI 而不会真正触发函数(它只会改变可检查的状态)。不,不幸的是我不能只调用 alwaysOnTop
函数。我需要找到一种方法来专门用 Python 触发菜单项。
答案 0 :(得分:0)
import React, { useState } from "react";
import '../styles/style.css'
const Experience = (props) => {
const [toggle, setToggle] = useState(false);
const [input, setInput] = useState({title: "", company: ""})
const togglePopup = () => {
setToggle(!toggle);
}
return(
<ul>
{ JSON.stringify(input) }
<button onClick={togglePopup}>Work Experience</button>
{toggle && <form>
<div>
<label>Job Title</label>
</div>
<div>
<input onChange={ e => {setInput({ title: e.target.value }) }}/>
</div>
<div>
<label>Company</label>
</div>
<div>
<input onChange={ e => {setInput({ company: e.target.value }) }}/>
</div>
<div>
<label>Date Worked (MM/YYYY - MM/YYYY)</label>
</div>
<div>
<input />
</div>
<div>
<label>Location (e.g. Los Angeles, CA)</label>
</div>
<div>
<input />
</div>
<div>
<label>Description</label>
</div>
<div>
<input />
</div>
<button>Save</button>
<button onClick={togglePopup}>Cancel</button>
</form>}
</ul>
)
}
export default Experience
是 PyQt 或 PySide 信号,具体取决于您使用的绑定器。您可以以编程方式发出它:
triggered
action.triggered.emit(val)
取决于您管理 val
槽的方式。 alwaysOnTop
应该绑定到一个接受 bool 参数的槽,该参数指示该操作是被选中还是未选中。