是否可以在 QT5/pyqt5 中创建标签/令牌输入?
我正在创建 gui 应用程序,用户可以在其中存储图像/照片并添加标签。特定标签已存在于数据库中,用户应该能够从现有标签中进行选择(或根据需要创建新标签)。让我们说:图像 1 标签:(云)、(树)、(山)、道路
用户从数据库中选择了前 2 个标签,并添加了数据库中没有的“道路”。
目前,我可以使用数据库数据创建和填充 QComboBox,这些数据只会附加到 QLineEdit,稍后我可以通过格式化文本来处理它。但如果有标签/令牌输入之类的东西会更方便(就像附图中一样):
QT 是否有类似的开箱即用的东西,或者我应该为自定义小部件中的每个文本创建图形图标?
我正在遵循一些示例来构建带有单元格内按钮的 QTableWidget,并且有人建议使用 QTableWidget.horizontalHeaderItem。现在,这很好用,但用它我无法从特定的行/列取回项目(因为 QTableWidget.horizontalHeaderItem 没有指定的行)。
但是 QTableWidget.horizontalHeaderItem 的实际用途是什么以及为什么我要使用它而不是 QTableWidget.item ?
简单的 PyQT5 代码:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
self.mainWidget = QtWidgets.QWidget()
self.mytable = QtWidgets.QTableWidget(self.mainWidget)
self.mytable.setColumnCount(1)
self.mytable.setRowCount(2)
self.my_edit_btn = QtWidgets.QPushButton('Edit')
self.my_edit_btn.clicked.connect(self.button_A_pressed)
self.mytable.setCellWidget(0, 0, self.my_edit_btn)
item = QtWidgets.QTableWidgetItem()
self.mytable.setHorizontalHeaderItem(0, item)
self.mytable.horizontalHeaderItem(0).setText("Edit")
# self.mytable.setItem(0, 0, item)
# self.mytable.item(0, 0).setText("Edit")
self.my_edit_btn = QtWidgets.QPushButton('Edit')
self.my_edit_btn.clicked.connect(self.button_B_pressed)
self.mytable.setCellWidget(1, 0, self.my_edit_btn)
item = QtWidgets.QTableWidgetItem()
self.mytable.setHorizontalHeaderItem(0, item)
self.mytable.horizontalHeaderItem(0).setText("Edit")
# self.mytable.setItem(1, 0, item)
# self.mytable.item(1, 0).setText("Edit")
self.verticalLayout.addWidget(self.mytable) …Run Code Online (Sandbox Code Playgroud) 我正在关注本教程:https : //pythonprogramming.net/creating-first-flask-web-app/?completed=/flask-web-development-introduction/
在我的本地服务器上(本地网络上的家用机器)。Flask 本身正常启动
>>> python /var/www/FlaskApp/FlaskApp/__init__.py
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [31/Oct/2016 22:56:29] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [31/Oct/2016 22:56:29] "GET /favicon.ico HTTP/1.1" 404 -
Run Code Online (Sandbox Code Playgroud)
Flask 启动 但是无论如何 Apache 都会显示其默认网页。
须藤 a2enmod wsgi
Module wsgi already enabled
Run Code Online (Sandbox Code Playgroud)
cat /var/www/FlaskApp/FlaskApp/ init .py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def homepage():
return "Hi There, how you're doin?"
if __name__ == "__main__":
app.run()(debug=True)
Run Code Online (Sandbox Code Playgroud)
cat /etc/apache2/sites-available/FlaskApp.conf
<VirtualHost *>
ServerName dagzserv …Run Code Online (Sandbox Code Playgroud)