如何在 QMLTextField元素中更改光标颜色和可能的宽度?假设我们有以下一个:
import QtQuick 2.12
import QtQuick.Controls 2.12
TextField {
id: control
placeholderText: qsTr("Enter description")
background: Rectangle {
implicitWidth: 200
implicitHeight: 40
color: control.enabled ? "transparent" : "#353637"
border.color: control.enabled ? "#21be2b" : "transparent"
}
}
Run Code Online (Sandbox Code Playgroud)
如何使光标颜色为绿色或蓝色或其他什么?谢谢!
我正在 PYQT 5 中制作一个用户界面。它包括一个包含几个 QRadioButton 的 QGroupBox。当发生切换事件时,我检查按钮并执行一些操作。问题是有两个切换事件,因为一个按钮打开,一个按钮关闭,所以我的代码总是运行两次。
我一直在寻找来自 QGroupBox 的事件。当我切换单选按钮时,这种情况应该只发生一次而不是两次。
def __init__(self):
self.radioButton1.toggled.connect(self.update_stimulus)
self.radioButton2.toggled.connect(self.update_stimulus)
self.radioButton3.toggled.connect(self.update_stimulus)
def update_stimulus(self):
if self.radioButton1.isChecked():
print('1')
if self.radioButton2.isChecked():
print('2')
if self.radioButton3.isChecked():
print('3')
# Do stuff based on button positions
Run Code Online (Sandbox Code Playgroud)
我尝试使用
self.groupBox.toggled.connect(self.update_stimulus)
Run Code Online (Sandbox Code Playgroud)
但这仅在组框本身被切换时才有效。当其中一个单选按钮发生变化时,有什么方法可以从组框中获取信号,或者我是否必须找到某种方法来处理来自单选按钮的单独信号?
我想在模板中显示使用 django 和 mssql 的查询结果。
\n\n查询工作正常:
\n\ncursor.execute("SELECT DISP FROM INDTIMEN WHERE PAIS_SERV_PRODID = \'VEN_UY_POS\' AND A\xc3\x91O = 2019 AND MES = 10 AND INDIS != 0")\n**lista**=cursor.fetchall()\n\nRun Code Online (Sandbox Code Playgroud)\n\nde mssql 中的查询结果为 = 0.773
\n\n但是当我写变量lista时但是当我在 html 模板中
\n\n我怎样才能只显示结果 0.773
\n我正在寻找如何放大 QGraphicsView 但在光标位置上。目前我可以缩放,但缩放的位置不一致。
def wheelEvent(self, event):
'''Wheel event to zoom
'''
# Run default event
QtWidgets.QGraphicsView.wheelEvent(self, event)
# Define zoom factor
factor = 1.1
if event.delta() < 0:
factor = 0.9
self.scale(factor, factor)
Run Code Online (Sandbox Code Playgroud)
我见过使用self.mapToScene()但没有成功
我试图执行:
python -m pip install tensorflow
Run Code Online (Sandbox Code Playgroud)
从以管理员身份运行的 Windows 10 命令提示符。
我收到以下错误:
Collecting tensorflow
Using cached https://files.pythonhosted.org/packages/54/5f/e1b2d83b808f978f51b7ce109315154da3a3d4151aa59686002681f2e109/tensorflow-2.0.0-cp37-cp37m-win_amd64.whl
Collecting google-pasta>=0.1.6
Downloading https://files.pythonhosted.org/packages/c3/fd/1e86bc4837cc9a3a5faf3db9b1854aa04ad35b5f381f9648fbe81a6f94e4/google_pasta-0.1.8-py3-none-any.whl (57kB)
|????????????????????????????????| 61kB 435kB/s
Requirement already satisfied: keras-preprocessing>=1.0.5 in c:\users\owner\appdata\roaming\python\python37\site-packages (from tensorflow) (1.1.0)
Requirement already satisfied: numpy<2.0,>=1.16.0 in c:\users\owner\appdata\roaming\python\python37\site-packages (from tensorflow) (1.17.4)
Collecting wrapt>=1.11.1
Using cached https://files.pythonhosted.org/packages/23/84/323c2415280bc4fc880ac5050dddfb3c8062c2552b34c2e512eb4aa68f79/wrapt-1.11.2.tar.gz
ERROR: Error [WinError 87] The parameter is incorrect while executing command python setup.py egg_info
ERROR: Could not install packages due to an EnvironmentError: [WinError 87] The parameter is incorrect
Run Code Online (Sandbox Code Playgroud)
我从 PyCharm 终端(64 位版本)和 …
这是我当前的窗口布局,我希望将其分成 1/4,而不是 1/2。
这就是我希望我的窗口看起来的样子,但我似乎找不到一种很好的方法来将其大小调整QGridLayout为我想要的方式,而且这种方式setColumnStretch仍然让我感到困惑,我不完全理解它是如何工作的。
这是我的窗口布局代码:
self.pathRoot = QDir.rootPath()
self.labelFileName = QLabel(self)
self.labelFileName.setText("Search:")
self.labelFileName.resize(100, 30)
self.txtSearch = QLineEdit(self)
self.txtSearch.textChanged.connect(self.on_textChanged)
self.btnBack = QPushButton('Back', self)
self.btnBack.clicked.connect(self.back)
self.model = QFileSystemModel()
self.model.setRootPath(QDir.rootPath())
self.model.setFilter(QDir.NoDotAndDotDot | QDir.AllEntries | QDir.Dirs | QDir.Files)
self.proxy_model = QSortFilterProxyModel(recursiveFilteringEnabled = True, filterRole = QFileSystemModel.FileNameRole)
self.proxy_model.setSourceModel(self.model)
self.model.setReadOnly(False)
self.model.setNameFilterDisables(False)
self.indexRoot = self.model.index(self.model.rootPath())
self.treeView = QTreeView(self)
self.treeView.setModel(self.proxy_model)
self.adjust_root_index()
self.treeView.setRootIndex(self.indexRoot)
self.treeView.clicked.connect(self.on_treeView_clicked)
self.treeView.doubleClicked.connect(self.treeMedia_doubleClicked)
self.treeView.setAnimated(True)
self.treeView.setIndentation(20)
self.treeView.setSortingEnabled(True)
self.treeView.setDragEnabled(False)
self.treeView.setAcceptDrops(False)
self.treeView.setDropIndicatorShown(True)
self.treeView.setEditTriggers(QTreeView.NoEditTriggers)
self.treeView.setContextMenuPolicy(Qt.CustomContextMenu)
self.treeView.customContextMenuRequested.connect(self.showContextMenu)
for i in range(1, self.treeView.model().columnCount()):
self.treeView.header().hideSection(i)
self.gridLayout = QGridLayout()
self.gridLayout.addWidget(self.labelFileName, 0, …Run Code Online (Sandbox Code Playgroud) 我在 QTableWidget 中对 QHeaderView 进行子类化,以提供隐藏/显示部分的自定义功能。有没有办法从标题视图中获取部分的文本?我知道我可以在表格范围内做到这一点,但这不是我想要做的。
我意识到数据存储在模型内部,但是以下测试仅返回“无”:
self.model().index(0,0).data()
Run Code Online (Sandbox Code Playgroud) 我的组合框是这样的:

但我想要这个:

我的组合框默认是第一个 currentText,但我不希望它在我没有注意时显示任何内容。如果我设置:
displayText: " "
Run Code Online (Sandbox Code Playgroud)
我选择哪一个不起作用。该值为空。我该怎么办?
我正在QT Designer中的pyqt5中开发一个小界面,其中包括一个QTableWidget但我想为列分配不同的宽度,我找到了谈论相同内容的主题,但我不知道在哪里插入它们的代码提供一下,不知道是不是版本的问题,我对QT Designer还是比较新的。
我把我提到的问题留下来看看它的价值。
我的文件结构如下:
app.py:存储应用程序的功能
SGS.py:将.ui文件转换为.py后生成的代码
SGS.ui
我保留了SGS.py 部分,其中生成表头是为了它的价值。
item = self.TableDocs.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "IDsystem"))
item = self.TableDocs.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "IDpeople"))
item = self.TableDocs.horizontalHeaderItem(3)
item.setText(_translate("MainWindow", "Work"))
item = self.TableDocs.horizontalHeaderItem(4)
item.setText(_translate("MainWindow", "Hours"))
Run Code Online (Sandbox Code Playgroud)
我还留下了填充表格的代码
result = Cur.execute("SELECT idsystem,IDpeople,work,hours FROM workers")
self.TableDocs.setRowCount(0)
for row_number, row_data in enumerate(result):
self.TableDocs.insertRow(row_number)
for column_number, data in enumerate(row_data):
self.TableDocs.setItem(row_number, column_number, QtWidgets.QTableWidgetItem(str(data)))
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用手动限制设置来协调 Matplotlib 散点图中的点注释,但是我收到一条错误消息,或者我遇到了设计问题。
这是我的代码:
fig, ax = plt.subplots(figsize = (20,10)) #manual limit setting
plt.axis([-2,3,-2.5,5])
plt.scatter(x, y)
for i, txt in enumerate(n): #dot annotation
ax.annotate(txt, (x[i], y[i]))
Run Code Online (Sandbox Code Playgroud)
这是输出的屏幕截图(我得到的最终散点图是一个位于大白色矩形左角的小矩形:
我也试过这个:
fig, ax = plt.subplots(figsize = (20,10))
ax = plt.axis([-2,3,-2.5,5])
plt.scatter(x, y)
for i, txt in enumerate(n):
ax.annotate(txt, (x[i], y[i]))
Run Code Online (Sandbox Code Playgroud)
但是当然我收到了以下错误消息(即使图表正确显示,但每个对应点旁边没有标签)。
AttributeError: 'list' object has no attribute 'annotate'
Run Code Online (Sandbox Code Playgroud)
出现错误是因为我的循环试图遍历ax = plt.axis([-2,3,-2.5,5]),这确实没有意义。
有什么解决方案可以克服这个问题?
谢谢
python ×8
pyqt ×4
pyqt5 ×3
qml ×2
qt ×2
django ×1
matplotlib ×1
pip ×1
pyqt4 ×1
python-3.x ×1
qgridlayout ×1
qgroupbox ×1
qheaderview ×1
qlayout ×1
qt-designer ×1
qt5 ×1
qtablewidget ×1
qtquick2 ×1
scatter-plot ×1
sql ×1