我有一个QLineEdit
用户应该只输入数字的地方.
那么是否只有数字设置QLineEdit
?
我正在尝试实现一个功能.我的代码如下.
我希望当用户点击名为"connect"的按钮时,在字符串中使用对象名称'host'的文本中的文本说'shost'.我怎样才能做到这一点?我尝试过但失败了.我该如何实现这个功能?
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
le = QLineEdit()
le.setObjectName("host")
le.setText("Host")
pb = QPushButton()
pb.setObjectName("connect")
pb.setText("Connect")
layout.addWidget(le)
layout.addWidget(pb)
self.setLayout(layout)
self.connect(pb, SIGNAL("clicked()"),self.button_click)
self.setWindowTitle("Learning")
def button_click(self):
#i want the text in lineedit with objectname
#'host' in a string say 'shost'. when the user click
# the pushbutton with name connect.How do i do it?
# I tried and failed. How to implement this function?
app = QApplication(sys.argv)
form = …
Run Code Online (Sandbox Code Playgroud) 我为游戏构建了一个应用程序,开始很简单.这是一个系统随机选择一个数字并且游戏玩家(玩家)试图找出数字的游戏.一切都快完成了.该应用程序包括QLineEdit
一个标签和三个按钮.一旦应用告诉玩家所需号码的范围,他/她键入bet_number并点击播放按钮.并且根据该数字,他/她得到关于所需数字离bet_number有多远或多远的消息.
但我觉得单击一个按钮有点恶心.相反,我想使用Enter键来玩.所以要实现这一点,具体来说有两个问题:
如何改变使用Enter来播放(我的意思是我需要知道何时QLineEdit
检测到输入键被按下)?通过这种方式,我将正确编码以指向播放方法.
如果播放按钮有焦点,那么如何在此按钮上使用回车键?(make Button接受Enter键)
我有一个qt问题.我希望QLineEdit小部件在应用程序启动时具有焦点.以下面的代码为例:
#include <QtGui/QApplication>
#include <QtGui/QHBoxLayout>
#include <QtGui/QPushButton>
#include <QtGui/QLineEdit>
#include <QtGui/QFont>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *window = new QWidget();
window->setWindowIcon(QIcon("qtest16.ico"));
window->setWindowTitle("QtTest");
QHBoxLayout *layout = new QHBoxLayout(window);
// Add some widgets.
QLineEdit *line = new QLineEdit();
QPushButton *hello = new QPushButton(window);
hello->setText("Select all");
hello->resize(150, 25);
hello->setFont(QFont("Droid Sans Mono", 12, QFont::Normal));
// Add the widgets to the layout.
layout->addWidget(line);
layout->addWidget(hello);
line->setFocus();
QObject::connect(hello, SIGNAL(clicked()), line, SLOT(selectAll()));
QObject::connect(line, SIGNAL(returnPressed()), line, SLOT(selectAll()));
window->show();
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
为什么line->setFocus()
只在布局窗口小部件之后放置它并且如果在它不工作之前使用它时,将焦点放在行窗口小部件@app启动上?
我正在使用Qt 5.2,我想做一个QLineEdit
不可编辑的.这个问题是它看起来不像.使用setReadOnly(true)
时保持白色背景,看起来仍然可以编辑.
如果我禁用它,它会变成灰色,文本也会变浅.问题是,在禁用状态下无法复制文本.
那么我怎样才能使一个QLineEdit
正确的不可编辑,并使它看起来像它.在Windows中,这样的控件通常是灰色的,但文本保持黑色.当然我可以手动设置样式,但这意味着它是硬编码的,在其他平台上可能看起来不对.
我有一个只允许数字的qlineedit,我想从中得到一个值得的值.我无法弄清楚如何.
ui->lineEdit->setValidator(new QIntValidator(this));
Run Code Online (Sandbox Code Playgroud) 我使用QtDesigner创建了一个对话框.QLineEdit
对话框中有一个对象带有一些默认内容.当对话框初始化并且焦点转到时QLineEdit
,我希望自动选择默认内容,因此一旦用户开始写入,之前的内容将被覆盖.
编辑:
在构造函数中:
dialog->accept();
Run Code Online (Sandbox Code Playgroud)
和
connect( dialog, SIGNAL(accepted()), QlineObj, SLOT( selectAll() ) );
Run Code Online (Sandbox Code Playgroud) 我正在尝试改变它的背景颜色,QLineEdit
我根本无法弄明白.
我stylesheets
最初尝试使用这样的
QLineEdit *le = new QLineEdit();
le->setStyleSheet("background:#000;");
Run Code Online (Sandbox Code Playgroud)
但那没有做任何事情.我尝试过QPalette
像这样使用
QPalette palette;
palette.setColor(QPalette::Base, Qt::black);
palette.setColor(QPalette::Background, Qt::black);
le.setPalette(palette);
Run Code Online (Sandbox Code Playgroud)
但这也没有做任何事情.我一直在寻找,找不到任何东西.我做错了什么或有其他办法吗?
我试图在我的应用程序中回收一些屏幕空间.我有一个搜索栏,它是一个基本的QLineEdit并占用空间.在我的菜单栏中,我很容易有足够的空间来容纳这个搜索框,但我无法弄清楚如何将LineEdit放入菜单栏.
有人可以协助我将这个添加到菜单栏吗?
我使用的是Qt 4.7.
这是我试图完成的图像.这是相当基本的图像,但我希望使用菜单栏的右半部分作为搜索框.
qlineedit ×10
qt ×8
c++ ×6
background ×1
keypress ×1
menubar ×1
palette ×1
passwords ×1
pyqt ×1
pyqt4 ×1
python ×1
python-3.x ×1
qt-designer ×1
qt4 ×1
readonly ×1