如何自动触发一个项目?

时间:2021-06-19 11:02:13

标签: python pyqt pyqt5

我有这个代码:

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 触发菜单项。

1 个答案:

答案 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 参数的槽,该参数指示该操作是被选中还是未选中。