我在我的一个应用程序中使用Qt Dialogs.我需要隐藏/删除帮助按钮.但我无法确定我的帮助按钮的确切位置.不确定它是否是Qt窗口上的特定标志.
我有一个Qt对话框应用程序.现在我不希望该对话框可以调整大小.我不知道如何实现这一目标.我尝试了很多东西但仍然在对话框启动时可以调整此对话框的大小.
我应该设置什么属性来禁用对话框/窗口小部件调整大小.
我也试过了
setSizePolicy(QSizePolicy::Fixed);
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误说..
source\nimcac_settingsMain.cpp(36) : error C2248: **'QSizePolicy::QSizePolicy' : cannot access private member declared in class 'QSizePolicy'** p:\ThirdPartyExports\Qt\export\4.3\4.3.1f14\include\QtGui\../../src\gui\ kernel\qsizepolicy.h(177) : see declaration of 'QSizePolicy::QSizePolicy' p:\ThirdPartyExports\Qt\export\4.3\4.3.1f14\include\QtGui\../../src\gui\ kernel\qsizepolicy.h(34) : see declaration of 'QSizePolicy'
请帮我解决这个问题.
在对话框中,tab按下该键时,焦点将更改为另一个小部件.在Qt中,是否有任何关于小部件失去焦点的信号?我可以用它来检查输入是否有效吗?如果没有,我可以设置焦点并要求用户重新输入吗?
我有子类QDialog
实现类似的功能QMessageBox
(我需要这个以允许自定义).它有一条短信和OK,取消按钮.我正在显示对话框exec()
以使其阻止.现在,当用户单击"确定/取消"时,如何返回true/false值?
我尝试将按钮连接到setResult()
然后,单击时返回结果值,但是1.单击按钮不会关闭对话框2.返回值不正确.以下是我写的代码.我认为我在exec/result部分错了 - 但我不知道如何解决它.
class MyMessageBox : public QDialog {
Q_OBJECT
private slots:
void onOKButtonClicked() { this->setResult(QDialog::Accepted); }
void onCancelButtonClicked() { this->setResult(QDialog::Rejected); }
public:
MyMessageBox(QMessageBox::Icon icon, const QString& title,
const QString& text, bool showCancelButton = true,
QWidget* parent = 0);
virtual void resizeEvent(QResizeEvent* e);
QDialog::DialogCode showYourself()
{
this->setWindowModality(Qt::ApplicationModal);
this->exec();
return static_cast<QDialog::DialogCode>(this->result());
}
};
Run Code Online (Sandbox Code Playgroud)
用户将实例化该类并调用showYourself(),它将返回该值并关闭(并删除)该对话框.
我发布了部分代码.如果您需要更多,请告诉我,我会发布完整版本.
我创建了一个QDialog实例,在'x'(关闭)按钮的左边我也有'?' 按钮.我如何禁用'?' ?
如何防止PyQt中的QDialog可调整大小或最大化?我不知道要改变的窗户大小......
我使用这一行在我的对话框中禁用了Qt中的X按钮:
myDialog->setWindowFlags(Qt::Dialog | Qt::Desktop)
Run Code Online (Sandbox Code Playgroud)
但我无法使用此代码检测到Alt+ F4:
void myClass::keyPressEvent(QKeyEvent *e)
{
if ((e->key()==Qt::Key_F4) && (e->modifiers()==Qt::AltModifier))
doSomething();
}
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能在Qt中检测Alt+ F4或禁用它?
我有QDialog
一个QDialogButtonBox
." 确定"和" 取消"按钮处于活动状 有时我会根据对话框的状态禁用或隐藏"确定"按钮.看来,无论我做什么,Enter键总是激活OK按钮.我真的不希望这种情况发生.我试过了:
并且通过上述所有组合,Enter键仍然接受对话框.有没有人知道如何阻止这个?看起来我应该能够阻止这么简单的事情吗?
我正在开发一个项目,需要调用带有工具栏的模态窗口,以便在加载之前对某些数据进行一些处理.我需要工具栏的原因是用户有几个可以组合的不同选项.
这里显而易见的选择是模态对话框(我现在正在使用它).问题是我想要一个工具栏.这是一个两部分问题:
QDialog
?(也可以在Qt Designer中执行此操作吗?)QMainWindow
模态?qdialog ×10
qt ×9
c++ ×5
qt4 ×3
keypress ×1
modal-dialog ×1
pyqt ×1
python ×1
qkeyevent ×1
qmainwindow ×1
qpushbutton ×1
qt5 ×1
resize ×1