小编Ale*_*dar的帖子

SVG:拉伸图像

我正在玩SVG教程,我只是加载了这样的图像:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg style="stroke-linejoin:round; stroke:black; stroke-width:0.5pt; text-anchor:middle; fill:none" xmlns="http://www.w3.org/2000/svg" font-family="Helvetica, Arial, FreeSans, Sans, sans, sans-serif" height="400px" width="400px" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 250 250">
    <rect y="0" x="0" height="250" width="250" stroke="black"  stroke-width="1" fill="blue" />
    <image y="0" x="0" height="250" width="250" xlink:href="http://www.blueprintmodel.co.uk/images/DSCF1438.jpg" />
</svg>
Run Code Online (Sandbox Code Playgroud)

即使高度和宽度相同,我在viewBox的中心,"rect"上方获取图像.我的问题是:

  • 如何将图像拉伸为rect的大小?
  • 为什么"图像"标签中的"高度"不起作用?
  • 我可以使用"拉伸"或"调整大小"这样的转换吗?(我找不到它们)

svg image

29
推荐指数
2
解决办法
2万
查看次数

从QTableWidget读取所选项目

如何从QTableWidget中读取所选项目?

谢谢

qt qtablewidget

5
推荐指数
2
解决办法
1万
查看次数

对齐qTableWidget中的可检查项目

在tableWidget中,我有一列完全由可检查项组成.我无法弄清楚如何使复选框居中或至少删除旁边的文本框.正如你在这张照片上看到的那样在此输入图像描述当我点击单元格时,文本框有那个丑陋的轮廓,如果有可能,我希望在整个表格中关闭它.我已经读过我需要使用代理人来控制项目/图标的位置,但对于像我这样的人来说理解这一点需要很长时间,所以如果有一些简单的解决方案可以使该列不那么难看,请举例,我们将不胜感激.

python qt qt4 pyqt4 qtablewidget

5
推荐指数
3
解决办法
7587
查看次数

从qComboBox弹出菜单中捕获鼠标按钮按下的信号

我做了多选QComboBox.项目是可检查的(每个项目都有复选框和文本值).只有在用户单击它时才会检查CheckBox.我想要的是在用户点击文本值时捕获信号,这样我就可以设置选中它旁边的复选框.怎么做?

在此输入图像描述

这就是我将模型设置为组合框的方式:

areas = ["Area one", "Area two", "Area three", "Area four"]
model = QtGui.QStandardItemModel(5, 1)# 5 rows, 1 col

firstItem = QtGui.QStandardItem("---- Select area(s) ----")
firstItem.setBackground(QtGui.QBrush(QtGui.QColor(200, 200, 200)))
firstItem.setSelectable(False)
model.setItem(0, 0, firstItem)

for i,area in enumerate(areas):
    item = QtGui.QStandardItem(area)
    item.setFlags(QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled)
    item.setData(QtCore.Qt.Unchecked, QtCore.Qt.CheckStateRole)
    model.setItem(i+1, 0, item)

self.ui.comboBox.setModel(model)        
self.ui.comboBox.installEventFilter(self)
Run Code Online (Sandbox Code Playgroud)

我已经为阻止轮子事件添加了事件过滤器,因此firstItem文本总是显示为"已选择"

def eventFilter(self,target,event):
    if target == self.ui.comboBox:
        if(event.type()== QtCore.QEvent.Wheel):
            #wheel event is blocked here
            return True
    return False
Run Code Online (Sandbox Code Playgroud)

python popupmenu signals-slots pyqt4 qcombobox

5
推荐指数
1
解决办法
5241
查看次数

Python:QTableWidget中的数字排序

我需要将我的QTableWidget的第一列填充为:行:1,行:2 ...行:100,但排序不能按预期工作(数字).使用此代码排序工作正常,但我没有得到预期的文本:

for i in range(0, self.rows):
    item = QtGui.QTableWidgetItem()
    item.setData(Qt.DisplayRole, "Row: %s" %(i) )
    item.setData(Qt.EditRole, i)
    self.ui.tableWidget.setItem(i, 0, item)
Run Code Online (Sandbox Code Playgroud)

我得到:1,2,3,4 ......而不是Row:1,Row:2,Row:3 ...我期望EditRole将用于编辑目的(用于数字排序,它工作正常)但我还期望显示文本,因为它是使用DisplayRole设置的.我能以某种方式这样做,或者为了排序而编写函数是唯一的方法吗?

python sorting pyqt qtablewidget

2
推荐指数
2
解决办法
2908
查看次数

c:foreach只返回一个空值

我正在使用JSF 2,我需要c:foreach用于某些目的.但无论我的列表有多大,c:foreach只循环一次,返回空值.我尝试了一切,我甚至在单独的.xhtml中分离了c:foreach,但它仍然给出了相同的结果.如果您需要一些代码,请询问,但我想使c:foreach至少在单独的.xhtml中工作,并且我会说它比在我的代码中也能工作.

jsf jstl jsf-2

1
推荐指数
1
解决办法
2452
查看次数

Python-QTableWidget:单击标题中的排序时如何捕获信号

在用我用于self.ui.tableWidget.resizeRowToContents每一行的一些文本填充 tableWidget 时。之后 and: self.ui.tableWidget.setSortingEnabled(1),sorting 按预期工作,但行不再根据内容调整大小,实际上它们保留了以前的高度。

name                              name v                 name v
---------                         ---------              ---------
text2                             text1line1             text1line1
---------  after sort is clicked: ---------   expected:  text1line2
text1line1                                               text1line3
text1line2                        text2                  ---------
text1line3                                               text2
---------                         ---------              ---------
Run Code Online (Sandbox Code Playgroud)

我的想法是在单击标题中的排序时捕获信号,然后再次self.ui.tableWidget.resizeRowToContents 遍历所有行。 如何捕捉该信号?

python signal-handling pyqt4 qtablewidget

1
推荐指数
1
解决办法
3053
查看次数

调用setSortingEnabled(1)时出现意外行为

我有一个QTableWidget第一列填充了可检查的项目,所以我需要重载这些项目才能对它们进行排序.当我单击该列的标题时,排序按预期工作(行已排序 - 首先是已检查的行,然后未检查).

当我运行我的GUI并且没有单击任何列的标题来排序表然后执行此操作时,会出现问题:

tableWidget.setSortingEnabled(0); 
// check/uncheck some checkable items here
tableWidget.setSortingEnabled(1);
Run Code Online (Sandbox Code Playgroud)

在那种情况下,被覆盖的__lt__被称为100次以上,但我没想到,因为我没有点击该列的标题进行排序.那么,为什么__lt__叫?为什么它比较了一些可检查的项目,即使我没有点击该列的标题来对它们进行排序?

请帮助我,__lt__当我有30多行时,调用消耗太多时间.

python qt pyqt qtablewidget

0
推荐指数
1
解决办法
690
查看次数