QPixmap维护长宽比
我正在编写一个程序,可以让我通过他们的API上传照片到Tumblr,我已经上传了(感谢你们). 我在GUI的侧面放了一个"排队",该侧面显示了图像名称,它们存储在Qlistwidget中.我将其放在我的主班级构造函数中: def __init__(self): QtGui.QMainWindow.__init__(self) self.setupUi(self) self.queueBox.itemClicked.connect(self.displayPhoto) 我有这种方法: def displayPhoto(self, item): tempName = (item.text()) print tempName self.myLabel.setPixmap(QtGui.QPixmap(_fromUtf8(directory + '\\' + tempName))) ## self.myLabel.p
16 2024-03-16
编程技术问答社区
如何在QLineEdit/QLabel等中以从左到右的方向显示阿拉伯记号?
在QT的实现中阿拉伯语符号在左右方向上显示,因此任何包含阿拉伯语符号的字符串都将是正确的. 但是我的应用程序要做的是在左右方向上显示所有文本,无论是否包含阿拉伯语符号.所有文本均左对齐. 一个示例如下: 这是 我想实现的 这就是 QLineEdit 以默认方式显示包含阿拉伯语符号的文本 这就是 QLabel 的方式 编辑: 在这里粘贴测试字符串. ە抠门哥( 编辑: 提供替代解决方案. 最后,我可以使用具有QTextDocument的QTextEdit大致实现目标.以下代码段显示了我的工作方式.但是我不知道QT从全球角度如何处理文本方向,因此我无法实现QLabel等的目标... 如果有人可以提供有关QT文本引擎的一些详细信息,那将是很棒的. QTextDocument *doc = ui->textEdit->document(); QTextOption textOption = doc->defaultTextOpti
6 2024-03-03
编程技术问答社区
在qt中缩放图片时滚动条的行为不正确
我正在尝试将缩放功能实现到类似图像视图的应用程序. 我正在上传这样的图像: void MeasuresWidget::on_actionOpen_triggered() { QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::currentPath()); if (!fileName.isEmpty()) { QImage image(fileName); if (image.isNull()) { QMessageBox::information(this, tr("Image Viewer"), tr("Cannot load %1.").arg(fileName));
4 2023-12-26
编程技术问答社区
QLabel中的QRubberBand和MPlayer
我已经尝试了许多在Stackoverflow上提供的解决方案,以使其透明. 我想使Qrubbanband透明,我也面临着绿色的问题. #include "physician.h" #include "ui_physician.h" Physician::Physician(QWidget *parent) : QMainWindow(parent), ui(new Ui::Physician) { ui->setupUi(this); ui->sendROIButton->setStyleSheet( "background-color: #d9d9d9;" "border-radius: 10px;" "color: Black; "
32 2023-10-25
编程技术问答社区
无法在 LibVLC 使用的 QWidget 上覆盖透明 Qlabel
我对LiBVLC用户有一个问题,我整天都在挣扎,但无法解决解决方案,所以想向您寻求帮助. 我有一个QT应用程序,该应用程序使用libvlc播放视频,视频流.如您所知,LIBVLC使用QT小部件仅获得Qwidget的WinID并处理其余本身来渲染视频帧.我有一个qwidget可以用libvlc渲染视频,我想在此窗口小部件上覆盖一个透明的Qlabel,但是当小部件开始显示视频时,标签无法透明,并以背景为背景,其最后一件事是覆盖它之前的最后一件事.视频开始播放. 这对我来说是一个问题,我敢肯定有一个解决方案,但到目前为止找不到网上的工作. 有什么建议为什么会发生这种情况以及如何避免? 预先感谢. 解决方案 将这些属性和标志添加到所需的Qlabel解决了我的问题. labelCamName->setWindowFlags(Qt::Window | Qt::FramelessWindowHint); labelCamName->setAttribute(Qt:
16 2023-10-25
编程技术问答社区
动态文本大小 QLabel
确定文本尺寸是否超过 Qlabel 的宽度的最佳方法是什么? 据此,更改文本大小? 我有一个带有文字打包选项的Qlabel设置为true,但是当文本长时间时,它是从左侧和右侧裁剪的. 解决方案 您可能想尝试以下方法: QLabel label; QRect r = label.fontMetrics().boundingRect( "My text" ) ); int textWidth = r.width();
26 2023-10-19
编程技术问答社区
在PyQt4中动态更改QLabel文本
我的问题是:如何在标签中更改文本?标签在布局内部,但setText()似乎不起作用 - 也许我做得不正确. 这是我的代码: 这是主要的Windows GUI,一个Qt-Designer给出的一个: class Ui_dashboard(QtGui.QMainWindow): def setupUi(self, dashboard): dashboard.setObjectName(_fromUtf8("dashboard")) dashboard.resize(734, 703) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(_fromUtf8("../../../../Documents and Settings/cgarcia/Escritorio/metromara - imagenes - nerio/logoM.JPG")), QtGui.QIcon.Normal, QtGu
22 2023-10-18
编程技术问答社区
子类化QLabel以显示本地的'鼠标悬停按钮指标'。
我有一个带有" styledpanel的Qlabel"框架. 可单击,通过子类Qlabel; class InteractiveLabel(QtGui.QLabel): def __init__(self, parent): QtGui.QLabel.__init__(self, parent) def mouseReleaseEvent(self, event): self.emit(QtCore.SIGNAL('clicked()')) 但是,一般的看法是,这个"框"不容易被识别为可单击的. 为了寻求可用性,我希望"盒子"表明鼠标悬停在鼠标上时可单击. 显然,通过连接MouseHoverEvent可以很容易地实现对小鼠徘徊的反应. 但是,"按钮指示器"必须本地继承,因为我的QT应用程序允许用户更改样式(从Windows XP,Windows 7,Plastique,Motif,CDE中). 此图像显
38 2023-10-04
编程技术问答社区
我如何制作一个圆形的QLabel?
我有一个Qlabel,我用样式表填充红色,但是Qlabel是矩形,我想要一个圆.我尝试添加Border-Radius,但这不起作用,也许是因为我将Qlabel放在formlayout中. 是否有一种简单的方法可以使用样式表使用圆形Qlabel? 谢谢. 编辑:使用图片似乎比现在这样做更容易. 解决方案 我尝试通过设置Border-Radius和最小宽度/最小值来使用样式表.看起来像 QLabel{ border-radius: 10px; min-height: 20px; min-width: 20px; } 其他解决方案 创建一个您用作掩码的图像,并通过调用setMask在标签上设置该图像. 如文档 仅导致位图的小部件像素的像素,其相应的1位可见.如果该区域包括窗口小部件的rect()之外的像素,则该区域中的窗口系统控制可能是或可能不可见的,具体取决于平台
24 2023-10-04
编程技术问答社区
如何使用样式表自定义 QLabels 中链接的外观?
我有一个QLabel,带有QT样式表,设置了深色背景: QLabel { background: black; color: white; } 这可以正常工作,直到我使用嵌入式URL添加文本并将Qt::TextFormat设置为Qt::RichText.该链接显示为默认的深蓝色,在深色背景上很难阅读. 我尝试通过样式表进行自定义,例如: a { color: white; } QLabel!visited { color: white; } 但这没有任何效果.似乎有效的一件事是更改应用程序的QPalette: QPalette newPal(qApp->palette()); newPal.setColor(QPalette::Link, Qt::white); newPal.setColor(QPalette::LinkVisited, Qt::white); qApp->setPalette(newPal); 但是,这需要颜色要进行硬编码.有什么方
8 2023-10-04
编程技术问答社区
使用 Qt 创建 QLabel 点击事件?
我是QT的新手,有一个问题. i有QLabel和QLineEdit对象,当单击QLabel文本时,我想在QLineEdit中设置此文本. 我还读到QLabel尚未单击信号. 您能解释一下我该怎么做并为我编写代码?! 解决方案 哪种样式的另一种类型的Qwidget,例如特定的Qpushbutton,看起来像Qlabel,并使用其clicked()信号或继承Qlabel自己,并发出您自己的clicked()信号. 请参阅此示例: https://wiki.qt.io/clickable_qlabel 如果选择后一个选项,则可以将文本传递在信号中.然后将必要的信号/插槽连接到Qlabel和qlineedit之间,例如: QObject::connect(&label, SIGNAL(clicked(const QString& text)), &lineEdit, SLOT(setText(const QString
62 2023-09-03
编程技术问答社区
在QScrollArea内显示图像的QLabel
我已经成功实现了QT中的图像查看器(用于DICOM). 我可以看到图像,我可以正确放大和放大. 现在,我想查看滚动条,如果图​​像太大而无法显示我的放大. 我使用了UI.我放置了 QSCrollarea .内部, Qlabel . 垂直旋风是 scrollbarasn​​eed . horizo​​ntalsCrollBarpolicy scrollbarasn​​eed . 问题是:它不起作用.我放大了,但没有出现卷轴. 第二次尝试:在QSCrollarea内使用布局. 所以现在QSCrollarea和Qlabel之间有一个 Qwidget :水平布局. 打开相同的图像,现在我可以在右侧看到一个垂直滚动条.图像从左到右进行.当我缩放图像时,图像的比例正确. 但是...我缩小,滚动条是相同的,即使我可以看到整个图像.水平滚动条从未出现. 调整Qlabel的大小似乎不会影响.但是,如果我调整QSCrollarea(调整主窗口大小),则会出现水平滚动
22 2023-08-23
编程技术问答社区
PyQt: 在运行时向scrollarea添加部件
我正在尝试在运行时添加新的小部件(在下面的示例中使用标签),通过按下按钮.这里的示例: import sys from PyQt4.QtCore import * from PyQt4.QtGui import * class Widget(QWidget): def __init__(self, parent= None): super(Widget, self).__init__() btn_new = QPushButton("Append new label") self.connect(btn_new, SIGNAL('clicked()'), self.add_new_label) #Container Widget self.widget = QWidget() #Layout of Container Widget layou
30 2023-08-08
编程技术问答社区
如何在不使用类的情况下自动调整QLabel像素图的比例?
我们正在使用PYQT和QT设计师制作GUI.现在,我们需要将Qlabel中放置的图像(PixMap)放置在调整窗口时保持比率很好. 我一直在阅读其他问题/答案,但所有问题都使用扩展类.当我们在UI上不断更改时,并且它是使用QT Creator创建的.我们是因为我们每次更新UI时都应该手动更改类的名称. 是否有任何选项可以在qlabel中自动自动pixmap,以保持比率并避免使用扩展的clase? 谢谢. 解决方案 有几种方法可以做到这一点. 首先,您可以将QT Designer的Qlabel推广到用Python编写的自定义子类.右键单击QLABEL并选择"促进到...",然后给班级一个名称(例如" Scaledlabel"),然后将标题文件设置为将从Mylib导入的自定义子类类的Python模块.课程'). 然后,自定义子类将重新实现resizeEvent这样: class ScaledLabel(QtGui.QLabel): def
32 2023-08-08
编程技术问答社区
修改无窗口 QLabel 的 alpha 通道透明度
我有一个很小的QT应用程序,该应用程序使用标签显示JPEG图像,而无需先将其放入窗口中. (我从用qtgui 显示qimage ) > 现在,我想更改此JPEG的Alpha通道,以使图像部分透明.我尝试了以下内容,没有任何运气 int main (int argc, char *argv[]) { QApplication app(argc, argv); QLabel label (0, Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); label.resize(1280,720); label.setPixmap(QPixmap("test.jpg")); label.setScaledContents(true); // This line should set the alpha transparency to 50% label.setStyleSheet
24 2023-07-25
编程技术问答社区
访问 QLabel 文本时出现分割故障
我对Qlabel遇到了问题.我有一个QTwidget,里面有一个Qlabel.现在,我想使用以下代码更改标签的文本: QLabel* safetyLabel = this->findChild("safety_bits"); safetyLabel->setText(QString("test")); printf("%i", (safetyLabel->text()).length()); ,但我总是会得到"分割故障".我认为这很简单,但是我看不到... 有什么想法? 解决方案 您的safetyLabel可以是NULL,如果您使用QTCreators的设计器来构建UI并在MainWindow s构造器中调用ui->setupUi(this);之前执行代码. 其他解决方案 这是代码. QLabel *safetyLabel = NULL; safetyLabel = (QLabel *) this->findChild("saf
76 2023-07-25
编程技术问答社区
如何使 QLabel 扩展几何宽度以容纳文本
我目前有一个Qlabel,其中有一些文本.但是,当我将一些文本超过其几何宽度时,则没有显示额外的文本.我不想启用WordWrap,因为我希望Qlabel水平扩展.无论如何,Qlabel可以根据其内容增加其几何宽度吗? 解决方案 呼叫 qwidget :: qwidget :: adpadsize()每次更改标签的内容时.由于缺乏信息,我无法详细说明其他可能的答案,但这可能会解决问题.
12 2023-07-25
编程技术问答社区
Qt 中的 QLabel OpenCV 图像坐标
我想根据MouseClicks对图像进行操作. 我正在使用Qlabel显示CV :: MAT图像.现在,我的问题是要获得有关图像的点击位置.因此,我想要(0,0)在图像的尖角. 以下是我的Mousepressevent,但这些不是正确的坐标. void MainWindow::mousePressEvent( QMouseEvent* ev ) { //This seems to work thanks to Pavel QPoint P = ui->label->mapFrom(this, ev->pos()) //if( ui->label->underMouse() ) { QMessageBox msgBox; //m sgBox.setText(QString("Click Detected X=")+QString::number(mFirstX)+QString(" Y=")+QS
20 2023-07-25
编程技术问答社区
在 Qlabel 中使用 setPixmap 显示图像序列时遇到的问题
我正在尝试使用setPixMap通过Qlabel显示一系列图像.我有一个包含图像文件名的QStringList和一个用于循环的循环,该曲线在每个图像之后以5秒的等待来迭代.但是,只显示最后一个图像文件.当前,在第一次迭代的等待期间,屏幕一直保持空白,直到最终显示了最后一个图像.我已经阅读了使用用于循环的工作,我应该使用信号和插槽.不过,我是这个概念的新手,我真的很高兴为我指出正确的方向. 这是我当前的代码: MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),ui(new Ui::MainWindow){ ui->setupUi(this); QStringList images; QString imageName; images
8 2023-07-25
编程技术问答社区
合并两个 QPixmaps 的问题
我正在研究像画家一样的应用.这个想法是有两个像素.首先包含由用户上传的原始图像,第二个包含所有图纸,并具有透明的背景.为了显示结果pixmap,应在Qlabel中组合并显示. 这样做了: 上传和图像,并创建具有相同大小的透明pixmap void ImageViewer::on_openAct_triggered() { QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::currentPath()); if (!fileName.isEmpty()) { QImage image(fileName); if (image.isNull()) {
16 2023-07-25
编程技术问答社区