Pycharm: Python Qt code code completion(Pycharm:Python Qt代码代码补全)
问题描述
我是 Python 中 Qt 的初学者.
I am a beginner with Qt in Python.
我使用 Qt Designer 创建简单.
我需要什么 - 用户点击按钮后,应用程序将文本从编辑复制到标签.
What I need - after user click to button, app copy text from edit to label.
我有来自 Qt Designer 的文件 example.ui
:
I have file example.ui
from Qt Designer:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>308</width>
<height>143</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>121</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Enter name</string>
</property>
</widget>
<widget class="QLineEdit" name="lineEdit">
<property name="geometry">
<rect>
<x>100</x>
<y>20</y>
<width>113</width>
<height>27</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>80</x>
<y>60</y>
<width>85</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>Display</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>10</x>
<y>90</y>
<width>261</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
如何在我的 Python 代码中使用它?
How can I use it in my Python code?
我修改了一些教程中的代码,它可以工作:
I modify code from some tutorial and it works:
import sys
from PyQt4 import QtCore, QtGui, uic
form_class = uic.loadUiType("example.ui")[0]
class MyWindowClass(QtGui.QMainWindow, form_class):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.pushButton_clicked)
def pushButton_clicked(self):
input = self.lineEdit.text()
self.label_2.setText(input)
app = QtGui.QApplication(sys.argv)
myWindow = MyWindowClass(None)
myWindow.show()
app.exec_()
但是代码完成不起作用!所以它对我来说是不可用的:-(
But code completion doesn't work! So it is unusable for me :-(
我正在使用 JetBrains Pycharm.
在 Python 代码中使用 Qt 设计器输出与 IDE 中的工作代码竞争的正确方法是什么?
What is right way to use Qt designer output in python code with working code competition in IDE?
推荐答案
不是一个完整的答案,但肯定值得一提:代码完成不适用于动态对象.你当然仍然可以使用
Not a complete answer but surely mentionable: Code completion does not work for dynamic objects. You could of course still use
self.pushButton.clicked.connect(self.abc)
代替
QtCore.QObject.connect(self.ui.pushButton, QtCore.SIGNAL("clicked()"), self.abc)
但 self.pushButton.clicked.*
(这也回答了问题https://stackoverflow.com/a/28270242/4537483)
这篇关于Pycharm:Python Qt代码代码补全的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Pycharm:Python Qt代码代码补全
基础教程推荐
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 筛选NumPy数组 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01