我尝试让 QTextEdit 将其宽度值更改为在其中输入的文本的长度。
但问题是,当使用 resize 属性时,它不会做任何事情并且不会改变大小
我遵守列表中当前单词的长度,该值是我尝试作为属性 width() 发送到 QTextEdit 的值
得到这样的东西:
from PyQt5.QtWidgets import QMainWindow,QWidget,QVBoxLayout,QApplication,QTextEdit,QPushButton,QScrollArea
class Main(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.lista = ["one","two","abcdefghijklmn","zxyw","xyxyxyxyx"]
self.widget = QWidget(self)
self.layout = QVBoxLayout(self.widget)
self.area = QScrollArea(self)
self.area.resize(400,300)
self.area.setWidget(self.widget)
self.area.setWidgetResizable(True)
self.plain =QTextEdit(self)
self.plain.move(0,305)
self.plain.resize(400,50)
self.boton = QPushButton(self)
self.boton.move(0,360)
self.boton.setText("Press")
self.boton.clicked.connect(self.Test)
def Test(self):
for i in self.lista:
longitud = len(i)*6.3
print(longitud)
self.text = QTextEdit(self)
self.text.document().setPlainText(i)
self.text.setReadOnly(True)
self.text.resize(longitud,10)
self.layout.addWidget(self.text)
app = QApplication([])
m = Main()
m.show()
m.resize(600,400)
app.exec()
Run Code Online (Sandbox Code Playgroud)
实际上我需要的是创建用于填充 QScrollArea 的 QTextEdit 符合文本字符长度的大小
这是我得到的结果,但我需要的是 QTextEdit 的宽度()到行结束的地方
晚安。我见过一些具有新无边界设计的程序,但您仍然可以使用调整大小。目前我知道要删除我们使用的 pyqt 程序的边框:QtCore.Qt.FramelessWindowHint
要更改窗口的大小,请使用 QSizeGrip。但是我们如何调整无边框窗口的大小呢?
这是我用来删除窗口边框的代码,但之后我还没有找到有关如何在 pyqt5 中执行此操作的信息。我希望你能帮我举例说明如何解决这个问题
from PyQt5.QtWidgets import QMainWindow,QApplication
from PyQt5 import QtCore
class Main(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
app = QApplication([])
m = Main()
m.show()
m.resize(800,600)
app.exec_()
Run Code Online (Sandbox Code Playgroud) 问题是我的泛型类型T只接受来自的参数u32,在这种情况下,我试图传递我存储在U.
有没有办法将泛型转换为特定类型?我能做些什么来解决问题?
#[derive(Debug)]
struct Cacher<T, U> where T: Fn(u32) -> u32 {
calcular:T,
valor:Option<U>,
}
impl<T, U> Cacher<T, U> where T: Fn(u32) -> u32 {
fn nuevo(calcular:T, valor:U) -> Cacher<T, U> {
Cacher{
calcular,
valor:None,
}
}
fn valor(&mut self, arg:U) -> u32 {
match self.valor {
Some(v) => v,
None => {
let v = (self.calcular)(arg);
self.valor = Some(arg);
v
}
}
}
}
fn generar(intensidad:u32){
let mut resultado = Cacher::nuevo(|num| {
println!("Trabajando"); …Run Code Online (Sandbox Code Playgroud) 我有以下代码,其中我尝试在 QMainWindow 后面显示阴影效果,为此我使用QGraphicsDropShadowEffect\n 来获取阴影。
但是运行代码时不会暂停任何内容。
\n\n我已经尝试修改颜色和偏移量,但它也不起作用
\n\n
代码。吡啶
\n\nfrom PyQt5.QtWidgets import QMainWindow,QApplication,QGraphicsDropShadowEffect\nfrom PyQt5 import QtCore,QtGui\nfrom PyQt5 import uic\n\n\nclass CInicial(QMainWindow):\n def __init__(self):\n QMainWindow.__init__(self)\n uic.loadUi("ConfiguracionInicial.ui",self)\n\n self.setWindowFlags(QtCore.Qt.FramelessWindowHint)\n self.setAttribute(QtCore.Qt.WA_TranslucentBackground)\n\n self.shadow = QGraphicsDropShadowEffect(self)\n self.shadow.setBlurRadius(99)\n self.shadow.setColor(QtGui.QColor(99,255,255))\n self.shadow.setOffset(4)\n self.setGraphicsEffect(self.shadow)\n\n\n\napp = QApplication([])\nci = CInicial()\nci.show()\napp.exec_()\nRun Code Online (Sandbox Code Playgroud)\n\n。用户界面
\n\n<?xml version="1.0" encoding="UTF-8"?>\n<ui version="4.0">\n <class>MainWindow</class>\n <widget class="QMainWindow" name="MainWindow">\n <property name="geometry">\n <rect>\n <x>0</x>\n <y>0</y>\n <width>683</width>\n <height>482</height>\n </rect>\n </property>\n <property name="windowTitle">\n <string>MainWindow</string>\n </property>\n <property name="styleSheet">\n <string notr="true">background-color:#5E5858;</string>\n </property>\n <widget class="QWidget" name="centralwidget">\n <widget class="QFrame" name="fContenedor1">\n <property name="geometry">\n <rect>\n …Run Code Online (Sandbox Code Playgroud)